SlideShare a Scribd company logo
1 of 42
Äàâõöàë (синхрончлол
буюу synchronization),
ͺºöèéã õàìòðàí ýçýìøèõ
Õè÷ýýë 5
Солбицол ба давхцал
• Солбицол
• Хамтран эзэмшиж буй өгөгдөл
рүү зэрэгцээ ажиллаж буй
процессууд нэгэн зэрэг хандах
үед үүсдэг
• Давхцал
• Ямар нэг нөхцлөөр
,процессуудыг ажиллах түр
зогсох үйлдлийг зохицуулах
Äàâõöàëûí øàëòãààí
• Ãëîáàëü íººöèéã õàìòðàí àøèãëàõ
– Æ : 2 ïðîöåññ 1 ãëîáàëü õóâüñàã÷èéí óòãûã íü
óíøèæ, áè÷äýã áîë 2 ïðîöåññ çýðýã õàíäñàí ¿åä
ÿàõ âý ?
• ͺºö õóâààðèëàëò
– Æ: À ïðîöåññ ÎÃ-ä õ¿ñýëò òàâèàä, ÎÃ-àà
àøèãëàõààñ ºìíº ò¿ð çîãññîí òºëºâò îðâîë ÿàõ
âý ?
• Ïðîãðàì÷ëàëûí æèæèã àëäàà
Ýíãèéí æèøýý
procedure echo;
varout, in: character;
begin
input(in, keyboard);
out := in;
output(out, display)
end.
Ýíãèéí æèøýý
• Ïð1 echo-ã äóóäàí ãàðààñ ºãºãäºë óíøèñàíû
äàðàà in õóâüñàã÷èä x óòãûã îëãîîä
áèåëýëò íü çàâñàðëàâ.
• Ïð2 èäýâõèæýýä echo-ã äóóäààä àæèëëàæ
äóóñààä, äýëãýöýíä y óòãûã õýâëýâ.
• Ïð1 èäýâõæèõýä in õóâüñàã÷èéí óòãà x-ûã
áèø , y àãóóëñàí áàéõ áóþó óòãà íü
àëäàãäñàí áàéíà.
Äàâõöàëûã àðèëãàñàí íü :
• Ïð1 echo-ã äóóäààä x óòãûã óíøààä
çàâñàðëàíà.
• Ïð2 èäýâõæèõ áîëîâ÷ echo-ã ººð ïðîöåññ
àøèãëàæ áóé ó÷èð ò¿¿íèéã ÷ºëººëºãäºõèéã
õ¿ëýýíý.
• Ïð1 èäýâõæèí õ óòãàà õýâëýíý.
• Ïð1 ïðîöåññ echo-ãîîñ ãàðìàãö Ïð2
õ¿ëýýëòèéí òºëºâººñ ãàð÷ echo-ã àøèãëàíà.
Äàâõöàëûã àðèëãàõ ñàíààíóóä
• Èäýâõòýé ïðîöåññóóäûí áèåëýëòèéã ÿâöûã
á¿ðòãýõ
• ͺºö õóâààðèëäàã, ÷ºëººëäºã áàéõ
– Ïðîöåññîðûí õóãàöàà, Ñàíàõ îé
– Ôàéëóóä , Î/à òºõººðºìæ
• ͺºö áîëîí ºãºãäëèéã õàìãààëàõ
• Ïðîöåññûí áèåëýëò áóñàä ïðîöåññûí
áîëîâñðóóëàëòûí õóðäààñ õàìààðàõã¿é áàéõ
Ïðîöåññóóäûí õàìààðàë
• Ïðîöåññóóä áèå áèåíýýñýý õàìààðàëã¿é
• Øóóä áóñààð áèå áèåíýýñýý õàìààðàõ
• Øóóä áèå áèåíýýñýý õàìààðàõ
1. ͺºöèéí òºëºº ºðñºëäºõ
• Íýã ïðîöåññûí áèåëýëò íü áóñàä
ºðñºëäºã÷ ïðîöåñóóääàà íºëººëºõ
ìàãàäëàëòàé.
• Õýðýâ 2 ïðîöåññ èæèë íººöèéã
àøèãëàõààð õ¿ñ÷ áóé ¿åä 1 íü õ¿ëýýíý,
íºãºº íü ýçýìøèíý.
• ͺºöèéã áëîêëîñîí ïðîöåññ õýçýý ÷ íººöèéã
ýçýìøèõã¿é , õýçýý ÷ ÷ºëººëºõã¿é
àæèëëàæ áîëíî.
Óäèðäëàãûí õ¿íäðýë¿¿ä
• Ñîëáèëöîë
– Ýãçýãòýé ìóæ
• Òóõàéí àãøèíä çºâõºí 1 ïðîöåññ ººðèéí ýãçýãòýé
ìóæäàà îðæ áîëíî.
• Æèøýý íü òóõàéí àãøèíä íýã ë ïðîöåññ ïðèíòåðò
êîìàíä èëãýýæ áîëíî.
• Ò¿ãæðýë
– Ï1- íººö2, Ï2-íººö1
• Ãà÷èãäàë
– Ï1,Ï2,Ï3 á¿ãä Ííººöèéã õ¿ñíý. Ãýâ÷
– Ï1,Ï3 õî¸ð ë äàâóó ýðõýýð ýçýìøèõ
• Program Ñîëáèëöîë;
• const n=. . .; /* Ïðîöåññûí òîî*/
• procedure P(I:integer)
• begin
• repeat
• ÝãçýãòýéÌóæèäÎðîõ(Í1);
• <Ýãçýãòýé ìóæ>;
• ÝãçýãòýéÌóæààñÃàð(Í1);
• <áóñàä>
• forever
• end;
• Begin /* ¯íäñýí ïðîãðàìì */
• parbegin
• p(1);
• P(2);
• . . .
• P(n);
• parend
• end.
2. Ïðîöåññóóä íººöèéã õàìòðàí
ýçýìøèõ
• Ïðîöåññóóä õàìòûí ýçýìøëèéí õóâüñàã÷
ôàéëóóä, ºãºãäëèéí áààçûã àøèãëàõ, óíøèõ,
áè÷èõ, ººð÷ëºõ
• Áè÷èõ, ººð÷ëºõ ¿éë àæèëëàãàà íü
äàâàìãàéëñàí ýðõòýé áàéõ ¸ñòîé .
• ªãºãäëèéí á¿ðýí á¿òýí áàéäëûã õàäãàëàõàä
ýãçýãòýé ìóæийг àøèãëàíà.
• P1 : a=a+1
• b=b+1
• P2 : b=2*b
• a=2*a
• a=a+1
• b=2*b
• b=b+1
• a=2*a
3. Ïðîöåññóóä õîîðîíäîî øóóä
õàðüöàæ õîëáîëò õèéõ
• Òºðºë á¿ðèéí çîðèëãîîð ïðîöåññóóä
õàðèëöàí àæèëëàäàã.
• Ò¿ãæðýë ãàðàõ áîëîìæòîé
– 2 ïðîöåññ íýã íýãíýýñýý ñèãíàë, ìýäýý
õ¿ëýýõ çîãñîõ òºëºâ
• “Ãà÷èãäàë” ãàðàõ áîëîìæòîé
– 2 ïðîöåññ íýã íýãòýý ìýäýý äàìæóóëààä
áàéõ áà 3-ð ïðîöåññ íü òýäíýýñ ìýäýý
õ¿ëýýæ áàéõ òºëºâ
Ñîëáèëöîëä òàâèõ
øààðäëàãóóä
• Òóõàéí àãøèíä çºâõºí íýã ïðîöåññ ýãçýãòýé
ìóæèä íººöèéã ýçýìøèæ áîëíî.
• Õýðýâ ïðîöåññ ýãçýãòýé ìóæäàà ¿éë
àæèëëàãààãàà çîãñîîâîë áóñàä ïðîöåññäîî ñààä
áîëîõã¿é áàéõ
– Áóñàä ïðîöåññ ÷ ýãçýãòýé ìóæèä îðîõûã õ¿ñíý
• Ýãçýãòýé ìóæèä îðîõûã õ¿ññýí ïðîöåññ òîäîðõîé
áóñ øàëòãààíààð çîãñîæ áîëîõã¿é.
– Áóñàä ïðîöåññ óã ïðîöåññûã ýãçýãòýé ìóæààñ
ãàðàõûã õ¿ëýýæ áàéãàà
Ñîëáèëöîëä òàâèõ
øààðäëàãóóä
• ªºð ÿìàð ÷ ïðîöåññ ýãçýãòýé íººöèéã àøèãëààã¿é
áàéõàä ïðîöåññ ò¿¿íèéã õ¿ëýýõ ¸ñã¿é.
– Òóõàéí ïðîöåññîä ãà÷èãäàë ¿¿ñ÷ áîëíî
• Ïðîöåññûí õóðä ýñâýë ïðîöåññîðûí òîî ãýõ ìýò
íºõöºë¿¿äèéã òîîöäîãã¿é áàéõ ¸ñòîé.
• Ïðîöåññ òîäîðõîé õóãàöààíä ë ýãçýãòýé ìóæèä
áàéõ ¸ñòîé.
– Áóñàä ïðîöåññîä ãà÷èãäàë ¿¿ñ÷ áîëíî
Солбицолын асуудлыг
шийдэх
Техник хангамж
Програм хангамж
Òåõíèê õàíãàìæèéí øèéäýë
Òàñàëäëûã õîðèãëîõ
• Ïðîöåññ íü ¿éëäëèéí ñèñòåìèéí ¿éë÷èëãýýã
äóóäàõ ýñâýë òàñàëäëààð òàñëàãäàõ õ¿ðòëýý
àæèëëàíà.
• Òàñàëäëûã õîðèãëîõ íü ñîëáèëöëûã
áàòàëãààæóóëàõ ¿éë àæèëëàãàà þì.
• Ïàðàëëåëü áîëîâñðóóëàëò (Îëîí CPU)
– Íýã ïðîöåññîð äýýð òàñàëäëûã õîðèãëîõ íü
ñîëáèëöëûã áàòàëãààæóóëàõ ¿éë àæèëëàãàà
áîëîõã¿é .
Òåõíèê õàíãàìæèéí øèéäýë
Òàñàëäëûã õîðèãëîõ
• <Òàñàëäàëõîðèõ>
• <Ýãçýãòýéìóæèäîðîõ>
• <ÝÃÇÝÃÒÝÉ ÌÓÆ>
• <Ýãçýãòýéìóæààñ ãàðàõ>
• <Òàñàëäàëçºâøººðºõ>
Ìàøèíû òóñãàé êîìàíäóóä
• 2Үндсэн команд байдаг
• Шалгаад тогтоох (Test and Set)
• Солих (exchange эсвэл swap)
Ìàøèíû òóñãàé êîìàíäóóä
Шалгаад тогтоох
Ìàøèíû íýã êîìàíä ñàíàõ îéä õàíäàõäàà ººð
êîìàíäûí õàðüöàõ õàÿãòàé äàâõöàæ
õàíäàæ áîëîõã¿é.
Ìàøèíû òóñãàé êîìàíäóóä
Шалгаад тогтоох
program mutualexclusion; /* ñîëáèöëûí
àñóóäàë */
const n = . . . ; /* ïðîöåññûí òîî */
var bolt: integer;
procedure P(i: integer);
begin
repeat
repeat { nothing } until testset
(bolt);
< critical section >; /*
ýãçýãòýé ìóæ */
bolt := 0;
< үëäñýí õýñýã >
Ìàøèíû òóñãàé êîìàíäóóä
Шалгаад тогтоох
begin /* үндсэн програм */
bolt := 0;
parbegin
P(1);
P(2);
. . .
P(n)
parend
end.
Ìàøèíû òóñãàé êîìàíäóóä
Шалгаад тогтоох
function testset(var
i:integer):boolean;
begin
if(i=0) then begin i:=1; testset:=true
end
else testset:=false
end;
Ìàøèíû òóñãàé êîìàíäóóä
Солих
program mutualexclusion; /*
солбицлын асуудал */
const n = . . . ; /* процессын
тоо */
var bolt: integer;
procedure P(i: integer);
var keyi: integer;
Ìàøèíû òóñãàé êîìàíäóóä
Солих
begin
repeat
keyi := 1;
repeat exchange (keyi, bolt)
until keyi = 0;
< critical section >; /*
эгзэгтэй муж */
exchange (keyi, bolt);
< үлдсэн хэсэг >
forever
Ìàøèíû òóñãàé êîìàíäóóä
Солих
begin (* үндсэн програм *)
bolt := 0;
parbegin
P(1);
P(2);
. . .
P(n)
parend
end.
Ìàøèíû òóñãàé êîìàíäóóä
Солих
procedure exchange(var r:register;
m:memory);
var temp;
begin
temp:=r; r:=m; m:=temp;
end;
Ìàøèíû òóñãàé êîìàíäóóä
ашигласны давуу талууд
– Õýäýí÷ïðîöåññ, õýäýí÷ïðîöåññîð äýýð àøèãëàæ
áîëíî
– Õÿëáàð òóëøàëãàõàäàìàðõàí
– Îëîíýãýçãòýéìóæòàé¿åäàøèãëàõàäòîõèðîìæòîé
Ìàøèíû òóñãàé êîìàíäóóä
ашигласны сул талууд
Завгүй хүлээлт (busy waiting)
үүснэ
Тасалдал хорих аргад завгүй хүлээлт
үүсэхгүй
Гачигдал үүсэх боломжтой
Түгжрэл үүсэх боломжтой
Програм хангамжийн
шийдэл
Деккерийн алгоритм
Петерсоны алгоритм
Äåêêåðèéí àëãîðèòì
1-ð õóâèëáàð
Æèøýý:
Íýã ë õ¿í(ïðîöåññ) ñàìáàðò áè÷èãäñýí óòãûã
øàëãàí îðæ áîëîõ æèæèã óðö (ýãçýãòýé ìóæ)
áàéã.
Õýðýâ ñàìáàðò áè÷ñýí óòãà íü òýð ïðîöåññûí
äóãààð áîë òýð ïðîöåññ ýãçýãòýé ìóæäàà îðæ
áîëíî. Óòãà ñîëèãäìîãö ýãçýãòýé ìóæààñ ãàðíà.
Àíõíû õóâèëáàð
• Varturn 0..1;
• process 0
• .
• While turn!=0 do {nothing};
• <Ýãçýãòýé ìóæ>
• turn=1
Àíõíû õóâèëáàð
• process 1
• .
• While turn!=1 do {nothing};
• <Ýãçýãòýé ìóæ>
• turn=0
Çàâã¿é -Õ¿ëýýõ
• Ïðîöåññóóä òîäîðõîé äàðààëëààð ýãçýãòýé
ìóæäàà îðîõ õýðýãòýé áîëíî.
• Ïðîöåññ ýãçýãòýé ìóæèä îðòëîî þó ÷ õèéæ
÷àäàõã¿é, õ¿ëýýõýýñ ººð àæèëã¿é áàéíà
• Õýðýâ íýã ïðîöåññ íü ýãçýãòýé ìóæäàà ¿éë
àæèëëàãààãàà çîãñâîë íºãºº ïðîöåññ íü
õ¿ëýýëòèéí ãîðèìä ¿ëäýíý.
2-ð õóâèëáàð
• Varflag:array[0..1] of boolean;
• PROCESS 0
• ...
• While flag[1] do {nothing};
• flag[0]=true;
• <ýãçýãòýé ìóæ>;
• flag[0]=false;
• ...
2-ð õóâèëáàð
PROCESS 1
...
While flag[0] do {nothing};
flag[1]=true;
<ýãçýãòýé ìóæ>;
flag[1]=false;
...
Çàâã¿é-Õ¿ëýýõ (2-ð
õóâèëáàð)
• Ïðîöåññ á¿ð áóñäûí òºëºâèéã ìýäýæ áîëîõ
áîëîâ÷ ººð÷èëæ áîëîõã¿é .
• Ïðîöåññ ýãçýãòýé ìóæäàà îðîõûí òóëä áóñäûã
øàëãàíà.
• Õýðýâ ýãçýãòýé ìóæèä ïðîöåññ àëãà áîë
ýãçýãòýé ìóæäàà îðíî.
• Ñîëáèëöîë òîäîðõîé äàðààëëààð õèéãäýõã¿é.
• Ãýâ÷ Ýãçýãòýé ìóæäàà ïðîöåññ çîãñâîë áóñàä
íü õ¿ëýýëòýíä îðíî.
Санал болгож буй нэмэлт
онооны ажлууд
Үйлдлийн системийн онол хичээлийн агуулга
ба стандартыг бусад их, дээд сургуулийн
ижил хичээлүүдтэй харьцуулсан судалгаа
NTFS ба FAT32 файлын системүүдийн
харьцуулсан судалгаа ба тэдгээрийн
хоорондын хөрвүүлэлт
Хуваарилагдсан тооцоолол ба түүний практик
хэрэглээ ба хэрэгжүүлэлт
Компьютерын системийн хэрэглэгчийг нэгэн
утгатайгаар таних аргачлалын судалгаа
Нэмэлт онооны ажил г йцэтгэгчдэдү
тавих нийтлэг шаардлага
SW316 хичээлийг өмнөх жилүүдэд үзэж
байсан оюутнууд л нэмэлт онооны ажил авах
эрхтэй
Оюутан өөрөө нэмэлт онооны ажил санал
болгох эрхтэй
Нэг ажлыг хамгийн олондоо 3 хүнтэй баг
гүйцэтгэж болно
Нэмэлт онооны ажлыг 50 хүртэл оноогоор
дүгнэнэ
Идэвх ба явцын шалгалтын оноог оюутан өөрөө
олж авна
Нэмэлт онооны ажил г йцэтгэгчдэдү
тавих нийтлэг шаардлага
Ажил гүйцэтгэх төлөвлөгөө гаргах
Долоо хоног бүр ажлын явцаа тайлагнаж
байх
Тайланг өгөөгүй буюу хоцроосон тохиолдолд уг
ажлыг гүйцэтгэхээс татгалзаж байна гэж үзээд
шууд 0 оноо өгнө
Гүйцэтгэх хугацаанд алдсан оноог нөхөж авах боломж
олгохгүй
Нэмэлт онооны ажлын эцсийн үр дүн нь
хэвлүүлэх боломжтой өгүүлэл, шаардлагатай
тохиолдолд програм байна

More Related Content

Similar to Lecture5

Lekts 2
Lekts 2Lekts 2
Lekts 2Pmunkh
 
лекц10 copy
лекц10   copyлекц10   copy
лекц10 copyPmunkh
 
лекц10 copy
лекц10   copyлекц10   copy
лекц10 copyPmunkh
 
Uhriin aj ahui
Uhriin aj ahuiUhriin aj ahui
Uhriin aj ahuiotgooPhh
 
Uhriin aj ahui
Uhriin aj ahuiUhriin aj ahui
Uhriin aj ahuiotgooPhh
 
Nyarai huuhded uzleh hiih
Nyarai huuhded uzleh hiihNyarai huuhded uzleh hiih
Nyarai huuhded uzleh hiihSosoo Byambaa
 
Эдийн засгийн сэтгэлгээний түүх /Economic History/
Эдийн засгийн сэтгэлгээний түүх /Economic History/Эдийн засгийн сэтгэлгээний түүх /Economic History/
Эдийн засгийн сэтгэлгээний түүх /Economic History/The National Defense University
 
Mehanik hodolgoon negj hicheel 8 p angi
Mehanik hodolgoon  negj hicheel 8 p angiMehanik hodolgoon  negj hicheel 8 p angi
Mehanik hodolgoon negj hicheel 8 p angibayja
 
Mehanik hodolgoon negj hicheel 8 p angi
Mehanik hodolgoon  negj hicheel 8 p angiMehanik hodolgoon  negj hicheel 8 p angi
Mehanik hodolgoon negj hicheel 8 p angibayja
 
Davaa questionnaire
Davaa questionnaireDavaa questionnaire
Davaa questionnairezorigoo.sph
 
Community nursing lecture
Community nursing lectureCommunity nursing lecture
Community nursing lecturedondooubuns
 
Community nursing lecture 1
Community nursing lecture 1Community nursing lecture 1
Community nursing lecture 1dondooubuns
 
E m.sp713, lesson 6
E m.sp713, lesson 6E m.sp713, lesson 6
E m.sp713, lesson 6davaa627
 
Geometr 7uzuuleh hicheel
Geometr 7uzuuleh hicheelGeometr 7uzuuleh hicheel
Geometr 7uzuuleh hicheelnyamgerel_44
 

Similar to Lecture5 (20)

Lekts 2
Lekts 2Lekts 2
Lekts 2
 
лекц10 copy
лекц10   copyлекц10   copy
лекц10 copy
 
лекц10 copy
лекц10   copyлекц10   copy
лекц10 copy
 
Blok2 1
Blok2 1Blok2 1
Blok2 1
 
Blok2 1
Blok2 1Blok2 1
Blok2 1
 
Лекц №13 Төслийн санхүүжилтийг олж бэлтгэх аргууд
Лекц №13 Төслийн санхүүжилтийг олж бэлтгэх аргуудЛекц №13 Төслийн санхүүжилтийг олж бэлтгэх аргууд
Лекц №13 Төслийн санхүүжилтийг олж бэлтгэх аргууд
 
Uhriin aj ahui
Uhriin aj ahuiUhriin aj ahui
Uhriin aj ahui
 
Marketing management 3 2010 орчны шинжилгээ
Marketing management 3 2010 орчны шинжилгээMarketing management 3 2010 орчны шинжилгээ
Marketing management 3 2010 орчны шинжилгээ
 
Uhriin aj ahui
Uhriin aj ahuiUhriin aj ahui
Uhriin aj ahui
 
Nyarai huuhded uzleh hiih
Nyarai huuhded uzleh hiihNyarai huuhded uzleh hiih
Nyarai huuhded uzleh hiih
 
Эдийн засгийн сэтгэлгээний түүх /Economic History/
Эдийн засгийн сэтгэлгээний түүх /Economic History/Эдийн засгийн сэтгэлгээний түүх /Economic History/
Эдийн засгийн сэтгэлгээний түүх /Economic History/
 
Mehanik hodolgoon negj hicheel 8 p angi
Mehanik hodolgoon  negj hicheel 8 p angiMehanik hodolgoon  negj hicheel 8 p angi
Mehanik hodolgoon negj hicheel 8 p angi
 
Mehanik hodolgoon negj hicheel 8 p angi
Mehanik hodolgoon  negj hicheel 8 p angiMehanik hodolgoon  negj hicheel 8 p angi
Mehanik hodolgoon negj hicheel 8 p angi
 
Davaa questionnaire
Davaa questionnaireDavaa questionnaire
Davaa questionnaire
 
Sanhuugiin tailangiin shinjilgee
Sanhuugiin tailangiin shinjilgeeSanhuugiin tailangiin shinjilgee
Sanhuugiin tailangiin shinjilgee
 
Lecture.13 micro competition..
Lecture.13 micro competition..Lecture.13 micro competition..
Lecture.13 micro competition..
 
Community nursing lecture
Community nursing lectureCommunity nursing lecture
Community nursing lecture
 
Community nursing lecture 1
Community nursing lecture 1Community nursing lecture 1
Community nursing lecture 1
 
E m.sp713, lesson 6
E m.sp713, lesson 6E m.sp713, lesson 6
E m.sp713, lesson 6
 
Geometr 7uzuuleh hicheel
Geometr 7uzuuleh hicheelGeometr 7uzuuleh hicheel
Geometr 7uzuuleh hicheel
 

Lecture5

  • 2. Солбицол ба давхцал • Солбицол • Хамтран эзэмшиж буй өгөгдөл рүү зэрэгцээ ажиллаж буй процессууд нэгэн зэрэг хандах үед үүсдэг • Давхцал • Ямар нэг нөхцлөөр ,процессуудыг ажиллах түр зогсох үйлдлийг зохицуулах
  • 3. Äàâõöàëûí øàëòãààí • Ãëîáàëü íººöèéã õàìòðàí àøèãëàõ – Æ : 2 ïðîöåññ 1 ãëîáàëü õóâüñàã÷èéí óòãûã íü óíøèæ, áè÷äýã áîë 2 ïðîöåññ çýðýã õàíäñàí ¿åä ÿàõ âý ? • ͺºö õóâààðèëàëò – Æ: À ïðîöåññ ÎÃ-ä õ¿ñýëò òàâèàä, ÎÃ-àà àøèãëàõààñ ºìíº ò¿ð çîãññîí òºëºâò îðâîë ÿàõ âý ? • Ïðîãðàì÷ëàëûí æèæèã àëäàà
  • 4. Ýíãèéí æèøýý procedure echo; varout, in: character; begin input(in, keyboard); out := in; output(out, display) end.
  • 5. Ýíãèéí æèøýý • Ïð1 echo-ã äóóäàí ãàðààñ ºãºãäºë óíøèñàíû äàðàà in õóâüñàã÷èä x óòãûã îëãîîä áèåëýëò íü çàâñàðëàâ. • Ïð2 èäýâõèæýýä echo-ã äóóäààä àæèëëàæ äóóñààä, äýëãýöýíä y óòãûã õýâëýâ. • Ïð1 èäýâõæèõýä in õóâüñàã÷èéí óòãà x-ûã áèø , y àãóóëñàí áàéõ áóþó óòãà íü àëäàãäñàí áàéíà.
  • 6. Äàâõöàëûã àðèëãàñàí íü : • Ïð1 echo-ã äóóäààä x óòãûã óíøààä çàâñàðëàíà. • Ïð2 èäýâõæèõ áîëîâ÷ echo-ã ººð ïðîöåññ àøèãëàæ áóé ó÷èð ò¿¿íèéã ÷ºëººëºãäºõèéã õ¿ëýýíý. • Ïð1 èäýâõæèí õ óòãàà õýâëýíý. • Ïð1 ïðîöåññ echo-ãîîñ ãàðìàãö Ïð2 õ¿ëýýëòèéí òºëºâººñ ãàð÷ echo-ã àøèãëàíà.
  • 7. Äàâõöàëûã àðèëãàõ ñàíààíóóä • Èäýâõòýé ïðîöåññóóäûí áèåëýëòèéã ÿâöûã á¿ðòãýõ • ͺºö õóâààðèëäàã, ÷ºëººëäºã áàéõ – Ïðîöåññîðûí õóãàöàà, Ñàíàõ îé – Ôàéëóóä , Î/à òºõººðºìæ • ͺºö áîëîí ºãºãäëèéã õàìãààëàõ • Ïðîöåññûí áèåëýëò áóñàä ïðîöåññûí áîëîâñðóóëàëòûí õóðäààñ õàìààðàõã¿é áàéõ
  • 8. Ïðîöåññóóäûí õàìààðàë • Ïðîöåññóóä áèå áèåíýýñýý õàìààðàëã¿é • Øóóä áóñààð áèå áèåíýýñýý õàìààðàõ • Øóóä áèå áèåíýýñýý õàìààðàõ
  • 9. 1. ͺºöèéí òºëºº ºðñºëäºõ • Íýã ïðîöåññûí áèåëýëò íü áóñàä ºðñºëäºã÷ ïðîöåñóóääàà íºëººëºõ ìàãàäëàëòàé. • Õýðýâ 2 ïðîöåññ èæèë íººöèéã àøèãëàõààð õ¿ñ÷ áóé ¿åä 1 íü õ¿ëýýíý, íºãºº íü ýçýìøèíý. • ͺºöèéã áëîêëîñîí ïðîöåññ õýçýý ÷ íººöèéã ýçýìøèõã¿é , õýçýý ÷ ÷ºëººëºõã¿é àæèëëàæ áîëíî.
  • 10. Óäèðäëàãûí õ¿íäðýë¿¿ä • Ñîëáèëöîë – Ýãçýãòýé ìóæ • Òóõàéí àãøèíä çºâõºí 1 ïðîöåññ ººðèéí ýãçýãòýé ìóæäàà îðæ áîëíî. • Æèøýý íü òóõàéí àãøèíä íýã ë ïðîöåññ ïðèíòåðò êîìàíä èëãýýæ áîëíî. • Ò¿ãæðýë – Ï1- íººö2, Ï2-íººö1 • Ãà÷èãäàë – Ï1,Ï2,Ï3 á¿ãä Ííººöèéã õ¿ñíý. Ãýâ÷ – Ï1,Ï3 õî¸ð ë äàâóó ýðõýýð ýçýìøèõ
  • 11. • Program Ñîëáèëöîë; • const n=. . .; /* Ïðîöåññûí òîî*/ • procedure P(I:integer) • begin • repeat • ÝãçýãòýéÌóæèäÎðîõ(Í1); • <Ýãçýãòýé ìóæ>; • ÝãçýãòýéÌóæààñÃàð(Í1); • <áóñàä> • forever • end;
  • 12. • Begin /* ¯íäñýí ïðîãðàìì */ • parbegin • p(1); • P(2); • . . . • P(n); • parend • end.
  • 13. 2. Ïðîöåññóóä íººöèéã õàìòðàí ýçýìøèõ • Ïðîöåññóóä õàìòûí ýçýìøëèéí õóâüñàã÷ ôàéëóóä, ºãºãäëèéí áààçûã àøèãëàõ, óíøèõ, áè÷èõ, ººð÷ëºõ • Áè÷èõ, ººð÷ëºõ ¿éë àæèëëàãàà íü äàâàìãàéëñàí ýðõòýé áàéõ ¸ñòîé . • ªãºãäëèéí á¿ðýí á¿òýí áàéäëûã õàäãàëàõàä ýãçýãòýé ìóæийг àøèãëàíà.
  • 14. • P1 : a=a+1 • b=b+1 • P2 : b=2*b • a=2*a • a=a+1 • b=2*b • b=b+1 • a=2*a
  • 15. 3. Ïðîöåññóóä õîîðîíäîî øóóä õàðüöàæ õîëáîëò õèéõ • Òºðºë á¿ðèéí çîðèëãîîð ïðîöåññóóä õàðèëöàí àæèëëàäàã. • Ò¿ãæðýë ãàðàõ áîëîìæòîé – 2 ïðîöåññ íýã íýãíýýñýý ñèãíàë, ìýäýý õ¿ëýýõ çîãñîõ òºëºâ • “Ãà÷èãäàë” ãàðàõ áîëîìæòîé – 2 ïðîöåññ íýã íýãòýý ìýäýý äàìæóóëààä áàéõ áà 3-ð ïðîöåññ íü òýäíýýñ ìýäýý õ¿ëýýæ áàéõ òºëºâ
  • 16. Ñîëáèëöîëä òàâèõ øààðäëàãóóä • Òóõàéí àãøèíä çºâõºí íýã ïðîöåññ ýãçýãòýé ìóæèä íººöèéã ýçýìøèæ áîëíî. • Õýðýâ ïðîöåññ ýãçýãòýé ìóæäàà ¿éë àæèëëàãààãàà çîãñîîâîë áóñàä ïðîöåññäîî ñààä áîëîõã¿é áàéõ – Áóñàä ïðîöåññ ÷ ýãçýãòýé ìóæèä îðîõûã õ¿ñíý • Ýãçýãòýé ìóæèä îðîõûã õ¿ññýí ïðîöåññ òîäîðõîé áóñ øàëòãààíààð çîãñîæ áîëîõã¿é. – Áóñàä ïðîöåññ óã ïðîöåññûã ýãçýãòýé ìóæààñ ãàðàõûã õ¿ëýýæ áàéãàà
  • 17. Ñîëáèëöîëä òàâèõ øààðäëàãóóä • ªºð ÿìàð ÷ ïðîöåññ ýãçýãòýé íººöèéã àøèãëààã¿é áàéõàä ïðîöåññ ò¿¿íèéã õ¿ëýýõ ¸ñã¿é. – Òóõàéí ïðîöåññîä ãà÷èãäàë ¿¿ñ÷ áîëíî • Ïðîöåññûí õóðä ýñâýë ïðîöåññîðûí òîî ãýõ ìýò íºõöºë¿¿äèéã òîîöäîãã¿é áàéõ ¸ñòîé. • Ïðîöåññ òîäîðõîé õóãàöààíä ë ýãçýãòýé ìóæèä áàéõ ¸ñòîé. – Áóñàä ïðîöåññîä ãà÷èãäàë ¿¿ñ÷ áîëíî
  • 19. Òåõíèê õàíãàìæèéí øèéäýë Òàñàëäëûã õîðèãëîõ • Ïðîöåññ íü ¿éëäëèéí ñèñòåìèéí ¿éë÷èëãýýã äóóäàõ ýñâýë òàñàëäëààð òàñëàãäàõ õ¿ðòëýý àæèëëàíà. • Òàñàëäëûã õîðèãëîõ íü ñîëáèëöëûã áàòàëãààæóóëàõ ¿éë àæèëëàãàà þì. • Ïàðàëëåëü áîëîâñðóóëàëò (Îëîí CPU) – Íýã ïðîöåññîð äýýð òàñàëäëûã õîðèãëîõ íü ñîëáèëöëûã áàòàëãààæóóëàõ ¿éë àæèëëàãàà áîëîõã¿é .
  • 20. Òåõíèê õàíãàìæèéí øèéäýë Òàñàëäëûã õîðèãëîõ • <Òàñàëäàëõîðèõ> • <Ýãçýãòýéìóæèäîðîõ> • <ÝÃÇÝÃÒÝÉ ÌÓÆ> • <Ýãçýãòýéìóæààñ ãàðàõ> • <Òàñàëäàëçºâøººðºõ>
  • 21. Ìàøèíû òóñãàé êîìàíäóóä • 2Үндсэн команд байдаг • Шалгаад тогтоох (Test and Set) • Солих (exchange эсвэл swap)
  • 22. Ìàøèíû òóñãàé êîìàíäóóä Шалгаад тогтоох Ìàøèíû íýã êîìàíä ñàíàõ îéä õàíäàõäàà ººð êîìàíäûí õàðüöàõ õàÿãòàé äàâõöàæ õàíäàæ áîëîõã¿é.
  • 23. Ìàøèíû òóñãàé êîìàíäóóä Шалгаад тогтоох program mutualexclusion; /* ñîëáèöëûí àñóóäàë */ const n = . . . ; /* ïðîöåññûí òîî */ var bolt: integer; procedure P(i: integer); begin repeat repeat { nothing } until testset (bolt); < critical section >; /* ýãçýãòýé ìóæ */ bolt := 0; < үëäñýí õýñýã >
  • 24. Ìàøèíû òóñãàé êîìàíäóóä Шалгаад тогтоох begin /* үндсэн програм */ bolt := 0; parbegin P(1); P(2); . . . P(n) parend end.
  • 25. Ìàøèíû òóñãàé êîìàíäóóä Шалгаад тогтоох function testset(var i:integer):boolean; begin if(i=0) then begin i:=1; testset:=true end else testset:=false end;
  • 26. Ìàøèíû òóñãàé êîìàíäóóä Солих program mutualexclusion; /* солбицлын асуудал */ const n = . . . ; /* процессын тоо */ var bolt: integer; procedure P(i: integer); var keyi: integer;
  • 27. Ìàøèíû òóñãàé êîìàíäóóä Солих begin repeat keyi := 1; repeat exchange (keyi, bolt) until keyi = 0; < critical section >; /* эгзэгтэй муж */ exchange (keyi, bolt); < үлдсэн хэсэг > forever
  • 28. Ìàøèíû òóñãàé êîìàíäóóä Солих begin (* үндсэн програм *) bolt := 0; parbegin P(1); P(2); . . . P(n) parend end.
  • 29. Ìàøèíû òóñãàé êîìàíäóóä Солих procedure exchange(var r:register; m:memory); var temp; begin temp:=r; r:=m; m:=temp; end;
  • 30. Ìàøèíû òóñãàé êîìàíäóóä ашигласны давуу талууд – Õýäýí÷ïðîöåññ, õýäýí÷ïðîöåññîð äýýð àøèãëàæ áîëíî – Õÿëáàð òóëøàëãàõàäàìàðõàí – Îëîíýãýçãòýéìóæòàé¿åäàøèãëàõàäòîõèðîìæòîé
  • 31. Ìàøèíû òóñãàé êîìàíäóóä ашигласны сул талууд Завгүй хүлээлт (busy waiting) үүснэ Тасалдал хорих аргад завгүй хүлээлт үүсэхгүй Гачигдал үүсэх боломжтой Түгжрэл үүсэх боломжтой
  • 33. Äåêêåðèéí àëãîðèòì 1-ð õóâèëáàð Æèøýý: Íýã ë õ¿í(ïðîöåññ) ñàìáàðò áè÷èãäñýí óòãûã øàëãàí îðæ áîëîõ æèæèã óðö (ýãçýãòýé ìóæ) áàéã. Õýðýâ ñàìáàðò áè÷ñýí óòãà íü òýð ïðîöåññûí äóãààð áîë òýð ïðîöåññ ýãçýãòýé ìóæäàà îðæ áîëíî. Óòãà ñîëèãäìîãö ýãçýãòýé ìóæààñ ãàðíà.
  • 34. Àíõíû õóâèëáàð • Varturn 0..1; • process 0 • . • While turn!=0 do {nothing}; • <Ýãçýãòýé ìóæ> • turn=1
  • 35. Àíõíû õóâèëáàð • process 1 • . • While turn!=1 do {nothing}; • <Ýãçýãòýé ìóæ> • turn=0
  • 36. Çàâã¿é -Õ¿ëýýõ • Ïðîöåññóóä òîäîðõîé äàðààëëààð ýãçýãòýé ìóæäàà îðîõ õýðýãòýé áîëíî. • Ïðîöåññ ýãçýãòýé ìóæèä îðòëîî þó ÷ õèéæ ÷àäàõã¿é, õ¿ëýýõýýñ ººð àæèëã¿é áàéíà • Õýðýâ íýã ïðîöåññ íü ýãçýãòýé ìóæäàà ¿éë àæèëëàãààãàà çîãñâîë íºãºº ïðîöåññ íü õ¿ëýýëòèéí ãîðèìä ¿ëäýíý.
  • 37. 2-ð õóâèëáàð • Varflag:array[0..1] of boolean; • PROCESS 0 • ... • While flag[1] do {nothing}; • flag[0]=true; • <ýãçýãòýé ìóæ>; • flag[0]=false; • ...
  • 38. 2-ð õóâèëáàð PROCESS 1 ... While flag[0] do {nothing}; flag[1]=true; <ýãçýãòýé ìóæ>; flag[1]=false; ...
  • 39. Çàâã¿é-Õ¿ëýýõ (2-ð õóâèëáàð) • Ïðîöåññ á¿ð áóñäûí òºëºâèéã ìýäýæ áîëîõ áîëîâ÷ ººð÷èëæ áîëîõã¿é . • Ïðîöåññ ýãçýãòýé ìóæäàà îðîõûí òóëä áóñäûã øàëãàíà. • Õýðýâ ýãçýãòýé ìóæèä ïðîöåññ àëãà áîë ýãçýãòýé ìóæäàà îðíî. • Ñîëáèëöîë òîäîðõîé äàðààëëààð õèéãäýõã¿é. • Ãýâ÷ Ýãçýãòýé ìóæäàà ïðîöåññ çîãñâîë áóñàä íü õ¿ëýýëòýíä îðíî.
  • 40. Санал болгож буй нэмэлт онооны ажлууд Үйлдлийн системийн онол хичээлийн агуулга ба стандартыг бусад их, дээд сургуулийн ижил хичээлүүдтэй харьцуулсан судалгаа NTFS ба FAT32 файлын системүүдийн харьцуулсан судалгаа ба тэдгээрийн хоорондын хөрвүүлэлт Хуваарилагдсан тооцоолол ба түүний практик хэрэглээ ба хэрэгжүүлэлт Компьютерын системийн хэрэглэгчийг нэгэн утгатайгаар таних аргачлалын судалгаа
  • 41. Нэмэлт онооны ажил г йцэтгэгчдэдү тавих нийтлэг шаардлага SW316 хичээлийг өмнөх жилүүдэд үзэж байсан оюутнууд л нэмэлт онооны ажил авах эрхтэй Оюутан өөрөө нэмэлт онооны ажил санал болгох эрхтэй Нэг ажлыг хамгийн олондоо 3 хүнтэй баг гүйцэтгэж болно Нэмэлт онооны ажлыг 50 хүртэл оноогоор дүгнэнэ Идэвх ба явцын шалгалтын оноог оюутан өөрөө олж авна
  • 42. Нэмэлт онооны ажил г йцэтгэгчдэдү тавих нийтлэг шаардлага Ажил гүйцэтгэх төлөвлөгөө гаргах Долоо хоног бүр ажлын явцаа тайлагнаж байх Тайланг өгөөгүй буюу хоцроосон тохиолдолд уг ажлыг гүйцэтгэхээс татгалзаж байна гэж үзээд шууд 0 оноо өгнө Гүйцэтгэх хугацаанд алдсан оноог нөхөж авах боломж олгохгүй Нэмэлт онооны ажлын эцсийн үр дүн нь хэвлүүлэх боломжтой өгүүлэл, шаардлагатай тохиолдолд програм байна