Ïðîöåññ ìåíåæìåíò           Ëåêö 11, 12
Àãóóëãà•   ¯Ñ áè÷èõ.•   Ïðîöåññèéí çàð÷èì•   Ïðîöåññ òºëºâëºëò•   Ïðîöåññóóä äýýðõ ¿éëäë¿¿ä•   Ïðîöåññóóäûí õàìòðàí àæèëëà...
¯éëäëèéí ñèñòåì áè÷èõ• Ñèñòåìèéí ïðîãðàì÷ëàëûí õýë àøèãëàí áè÷äýã.   •   ALGOL   •   Assembler   •   C   •   C++• Ýõíèé ¿å...
¯éëäëèéí ñèñòåì áè÷èõ• UNIX íü Ñ äýýð áè÷èãäñýí áºãººä äàðààõ òºðëèéí  êîìïüþòåðóóä äýýð àñóóäàëã¿é àæèëëàæ ÷àäíà:   •   I...
¯éëäëèéí ñèñòåì áè÷èõ• Ãýõäýý íýãýíò ¯Ñ áè÷èãäýýä àëäààã¿é àæèëëàæ  áàéâàë ñèñòåìèéí õàìãèéí èõ à÷ààëàëòàé  àøèãëàãääàã (ñ...
¯éëäëèéí ñèñòåì áè÷èõ• ¯Ñ - ¿¿ä íü õýìæýýãýýðýý õýäýí Mb-c õýä  õýäýí Gb õ¿ðòýë áàéæ áîëäëîã.• Æèøýý íü DOS ñèñòåì íü íýã ...
¯éëäëèéí ñèñòåì áè÷èõ• DOS ñèñòåì àøèãëàí óÿí äèñê äýýð áàéãàà  bod1.java ôàéëûã c äèñêíèé java õàâòàñ ðóó õóóëæ  áàéíà:
Ïðîöåññ ìåíåæìåíò• Ïðîöåññ íü (process çàðèìäàà job ÷ ãýäýã) ñàíàõ îéä  à÷ààëàãäñàí ïðîãðàì þì.• Ïðîöåññò:   • Ïðîãðàìûí ò...
Ïðîöåññèéí òºëºâ• Ïðîöåññèéã á¿ðä¿¿ëæ áóé çàõèðàìæóóä íü äàðààëëàí  àæèëäàã.• Ïðîöåññ á¿ðò òºëºâ áàéäàã áºãººä ¯Ñ íü ýíý ò...
Õýðâýý ïðîöåññèéí á¿õ                 çàõèðàìæ àæèëëàæ äóóñâàë    Õýðýâ ïðîöåññèéã                  Ïðîöåññ àíõ ñàíàõ îéä ...
Ïðîöåññ Óäèðäàõ Áëîê - ÏÓÁ(Process Control Block - PCB)• ¯Ñ íü ïðîöåññ á¿ðò ÏÓÁ õýìýýõ òóõàéí ïðîöåññòîé õîëáîîòîé  ìýäýýë...
Ïðîöåññ Óäèðäàõ Áëîê - ÏÓÁ(Process Control Block - PCB)• Ïðîöåññèéí òºëºâ (process state)  • Ýíä Øèíý, Àæèëëàõ, Õ¿ëýýõ, Áý...
Ïðîöåññ Óäèðäàõ Áëîê - ÏÓÁ(Process Control Block - PCB)• Ïðîöåññîðûí ðåãèñòåð¿¿ä (CPU registers)  • Êîìïüþòåðèéí òºð뺺ñ õ...
Ïðîöåññ Óäèðäàõ Áëîê - ÏÓÁ(Process Control Block - PCB)• Ïðîöåññîð õóâààðèëàõ ìýäýýëýë (SPU scheduling info)   • Ïðîöåññèé...
ÏÓÁ íü ïðîöåññá¿ðò áàéäàã á¿ëýãìýäýýëýë þì.
Ïðîöåññ P1 àæèëëàæ áàéíà.                   Ýíý õîîðîíä ïðîöåññ P0                  Ïðîöåññ P1 àæèëëàæ áàéíà.             ...
Ïðîöåññèéí äàðààëàë• Ïðîöåññ ñàíàõ îéä à÷ààëàãäìàãöàà Ïðîöåññèéí  Äàðààëàëä (Process Queue) á¿ðòãýãäýíý.• Ýíý äàðààëàëä ñà...
Ïðîöåññèéí äàðààëàë• ¯Ñ-ä ìºí ººð äàðààëëóóä áàéäàã.• Ïðîöåññóóä Î/Ã-ã õ¿ëýýæ “Õ¿ëýýõ” ãîðèìä  îðñîí áîë ÿìàð òºõººðºìæèéã...
Õàìãèéí ñ¿¿ë÷èéí ÏÓÁ-        Äàðààëàë äàõü                  í äàðàà÷èéí çààã÷ íü          ÏÓÁ-óóä áèåTerminal unit 0 òºõºº...
Ïðîöåññ òºëºâëºëò• Øèíýýð ¿¿ññýí ïðîöåññ íü “Áýëýí Äàðààëàë”-ä  îðíî.• Áýëýí Äàðààëëààñ ïðîöåññîðò îðæ àæèëëàäàã.  Ïðîöåññ...
Ïðîöåññ òºëºâëºëò• Ïðîöåññîîñ ººðººñºº õ¿¿ ïðîöåññ  (child process) ¿¿ñãýæ ººðèéí àæëûí  çàðèì õýñãèéã õèéëãýæ áîëíî.• Íýã...
Èéì áàéäëààð óã ïðîöåññ á¿õ àæëàà          äóóñãàí ñèñòåìýýñ ãàðòëàà ýíý çàìààð       Ïðîöåññ òºëºâëºëòèéíäóóñìàãö        ...
Ïðîöåññ òºëºâëºã÷(Process Scheduler)• Îéðûí òºëºâëºã÷ (short-term scheduler)   • Áýëýí ïðîöåññóóäûí äàðààëëààñ àëü ïðîöåññ...
Ïðîöåññ òºëºâëºã÷(Process Scheduler)• Õýðâýý îëîí òîîíû ïðîöåññóóä à÷ààëàãäààä  ñàíàõ îé ä¿¿ðâýë ñàíàõ îéä áàéãàà ïðîöåññó...
Õàòóó äèñê äýýðõ  Âèðòóàë ñàíàõ îé Ïðîöåññ òºëºâëºã÷äîòîð îãò àæèëëààã¿é    ýñâýë òàë íü            Âèðòóàë ñàíàõ îé ðóó (...
Ïðîöåññ ¿¿ñãýõ• Ïðîöåññ íü create-process ñèñòåìèéí  äóóäàëòûã àøèãëàí øèíý ïðîöåññ ¿¿ñãýæ  áîëíî.• ¯¿ñãýñýí ïðîöåññèéã ýö...
Ïðîöåññ ¿¿ñãýõ• Õ¿¿ ïðîöåññóóäàä ¿éë àæèëëàãààãàà ÿâóóëàõûí  òóëä ñàíàõ îé, ïðîöåññîðîîð ¿éë÷ë¿¿ëýõ õóãàöàà,  Î/à òºõººðºì...
Ïðîöåññ ¿¿ñãýõ• Õ¿¿ ïðîöåññèéí ñàíàõ îéí õàÿã:  • Ýöýã ïðîöåññòîéãîî èæèëõýí õàÿãòàé.  • ªºð ïðîãðàìûí õàÿãòàé.• UNIX ñèñò...
Ïðîöåññ ¿¿ñãýõ• Ïðîöåññ íü ñ¿¿ë÷èéí çàõèðàìæàà àæèëëóóëæ  äóóññàíû äàðàà ¯Ñ-ä äóóñãàõ õ¿ñýëò òàâüäàã (exit).• Ýöýã ïðîöåññ...
Ïðîöåññ ¿¿ñãýõ• Æèøýý àâ÷ ¿çüå:• ×àò ñåðâåð ïðîöåññ À àæèëëàæ áàéñàí áàéã.• Óã ïðîöåññ ðóó B, C ãàäíû ïðîöåññóóä õàíäàí õî...
Ïðîöåññ ¿¿ñãýõ      À (÷àò ñåðâåð)                   A1 (õ¿¿)        A2 (õ¿¿)                                  Ñ          ...
Ïðîöåññóóäûí õîëáîî• Ïðîöåññûí õîëáîîíû äàâóó òàë:  • Íýã áîäëîãûã îëîí ïðîöåññóóä õóâààí áîäîæ    áîëíî. Æèøýý íü 1996 îí...
Ïðîöåññóóäûí õîëáîî• Ïðîöåññóóä ìýäýýëýë ñîëèëöîõ àðãà:  • Øóóä  • Øóóä áóñ ãýæ õî¸ð ÿíç áàéíà.• Ïðîöåññóóä ìýäýýëýë Øóóä ...
Ïðîöåññóóäûí õîëáîî• Øóóä áóñ õîëáîîíä ïðîöåññóóä  ìýäýýëëýý ººð ïðîöåññ ðóó áèø  õàðèí ìýéë õàÿã ðóó èëãýýäýã.• Õ¿ëýýæ àâ...
ClientServer õîëáîî• Ñîêåòóóä (sockets)• Ñîêåò àøèãëàí èíòåðíýò, äîòîîä  ñ¿ëæýý, áàéãóóëëàãûí ñ¿ëæýýí áàéãàà  ïðîöåññóóä õ...
Ñîêåò• Ýíý àðãààð õî¸ð òàë õîëáîãäîõäîî õî¸ð  ñîêåò àøèãëàí õîëáîãäîíî.• Ñîêåò á¿ð íü õîëáîãäîæ áàéãàà òàëóóäûí  IP õàÿã á...
Ñîêåò
Java äýýð áè÷ñýí “Öàã  õàðèóëàã÷” ñåðâåðèéí êîä.Àøèãëàõ ñîêåòóóäàà çàðëàæ           áàéíà  Ýíý ñåðâåð ð¿¿ õîëáîãäñîí  ïðîö...
“Öàã õàðèóëàã÷”    ñåðâåð ð¿¿    õîëáîãäîí öàã    àâäàã êëèåíò    ïðîãðàìûí êîä. 127.0.0.1 õàÿãòàé õîñò ðóó    (ýíý êîìïüþ...
Øèíý ¿ãñ• booting: Êîìïüþòåð àñàíãóóò ¯Ñ-í öºìèéã îëæ  à÷ààëàõ ïðîöåññèéã õýëäýã.• Bootstrap program: ROM äîòîð áàéäàã áºã...
Øèíý ¿ãñ• queue: Äàðààëàë.• Fork: Ïðîöåññîîñ õ¿¿ ïðîöåññ ¿¿ñãýäýã ñèñòåìèéí  äóóäàëò.• Process scheduler: Ïðîöåññ òºëºâëºã...
Lecture 11, 12
Upcoming SlideShare
Loading in …5
×

Lecture 11, 12

3,575 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,575
On SlideShare
0
From Embeds
0
Number of Embeds
1,655
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lecture 11, 12

  1. 1. Ïðîöåññ ìåíåæìåíò Ëåêö 11, 12
  2. 2. Àãóóëãà• ¯Ñ áè÷èõ.• Ïðîöåññèéí çàð÷èì• Ïðîöåññ òºëºâëºëò• Ïðîöåññóóä äýýðõ ¿éëäë¿¿ä• Ïðîöåññóóäûí õàìòðàí àæèëëàãàà• Client-Server õàðèëöàà
  3. 3. ¯éëäëèéí ñèñòåì áè÷èõ• Ñèñòåìèéí ïðîãðàì÷ëàëûí õýë àøèãëàí áè÷äýã. • ALGOL • Assembler • C • C++• Ýõíèé ¿åèéí ¯Ñ-¿¿äèéã èõýâ÷ëýí äîîä òºâøíèé õýë áîëîõ assembler õýë äýýð áè÷äýã áàéñàí.• Äàðàà íü èë¿¿ äýýä òºâøíèé õýë áîëîõ Ñ, Ñ++ äýýð áè÷äýã áîëñîí. (UNIX, OS/2, Windows NT)• Äýýä òºâøíèé õýë äýýð áè÷èõèéí äàâóó òàë íü: • Îéëãîæ õºãæ¿¿ëýõýä õÿëáàð. • Èë¿¿ áàãà áè÷èãëýëòýé. • ªºð á¿òýöòýé êîìïüþòåð ðóó øèëæ¿¿ëýõýä áîëîìæòîé. Æèøýý íü MS-DOS ñèñòåì íü 8088 ïðîöåññîðò ë õýðýãëýãääýã êîìàíäóóäààñ òîãòîõ àññåìáëåð õýë äýýð áè÷èãäñýí òóë áóñàä òºðëèéí êîìïüþòåð äýýð àæèëäàãã¿é. Äýýä òºâøíèé õýë íü (C, C++) ïðîöåññîðîîñ ¿ë õàìààðñàí åðºíõèé õýëáýðèéí êîìàíäóóäòàé áàéäàã.
  4. 4. ¯éëäëèéí ñèñòåì áè÷èõ• UNIX íü Ñ äýýð áè÷èãäñýí áºãººä äàðààõ òºðëèéí êîìïüþòåðóóä äýýð àñóóäàëã¿é àæèëëàæ ÷àäíà: • Intel 8086 • Pentium • Motorola 680X0 • Ultra SPARC • Compaq Alpha • MIPS RX000• Äýýä òºâøíèé õýë àøèãëàí ¯Ñ áè÷èõèéí ãîë äóòàãäàëòàé òàë íü: • ¯Ñ-í õóðä äîîä òºâøíèé õýëýýð áè÷èãäñýí ¯Ñ-òýé õàðüöóóëáàë óäààí áîëîõ áîëîìæòîé. Ó÷èð íü äýýä òºâøíèé õýëýýð áè÷èãäñýí ¯Ñ-ã êîìïèëÿòîð íü äîîä òºâøíèé õýë ð¿¿ õºðâ¿¿ëýõäýý íýìýëò èë¿¿ îëîí êîä ¿¿ñãýäýã.
  5. 5. ¯éëäëèéí ñèñòåì áè÷èõ• Ãýõäýý íýãýíò ¯Ñ áè÷èãäýýä àëäààã¿é àæèëëàæ áàéâàë ñèñòåìèéí õàìãèéí èõ à÷ààëàëòàé àøèãëàãääàã (ñàíàõ îéí ìåíåæìåíò, ïðîöåññîð õóâààðèëàëò) æèæèã õýìæýýíèé êîäûã òóñä íü àññåìáëåðààð áè÷èæ ºã÷ áîëíî.• ¯Ñ-ã áè÷ñýíèé äàðàà êîìïüþòåðò ñóóëãàæ ºãíº. Êîìïüþòåð íü kernel-ã õààíààñ à÷ààëàõàà ÿàæ ìýäýõ âý?• Êîìïüþòåð àñààä êåðíåëèéã îëæ à÷ààëàõûã boot õèéæ áàéíà ãýäýã.• Èõýíõ êîìïüþòåðóóäûí ROM äîòîð æèæèã õýìæýýíèé êîä áàéäàã. Ýíý êîä íü êîìïüþòåð àñàíãóóò àæèëëàäàã áºãººä ¿¿ðýã íü êåðíåëèéã äèñêíýýñ îëæ à÷ààëàõ ÿâäàë þì. Ýíý ïðîãðàìûã bootstrap program ãýäýã.
  6. 6. ¯éëäëèéí ñèñòåì áè÷èõ• ¯Ñ - ¿¿ä íü õýìæýýãýýðýý õýäýí Mb-c õýä õýäýí Gb õ¿ðòýë áàéæ áîëäëîã.• Æèøýý íü DOS ñèñòåì íü íýã óÿí äèñê äýýð áàãòäàã. ¯¿íèéã áèä ñèñòåì äèñê ãýæ íýðëýäýã. Ñèñòåì äèñêèéã õèéãýýä êîìïüþòåðèéã àñààõàä bootstrap ïðîãðàì íü óÿí äèñêýíä áàéãàà ¯Ñ-ã (DOS) à÷ààëæ óäèðäëàãûã øèëæ¿¿ëäýã.• ¯¿íèé ¿ð ä¿íä æèæèã Êîìàíäûí Áîëîâñðóóëàã÷ ãàð÷ èðäýã. ¯¿íèéã àøèãëàí ãàðààð êîìàíä ºãñíººð ¯Ñ-í ýíãèéí ¿éëäë¿¿äèéã ã¿éöýòãýõ áîëîìæòîé áîëäîã.
  7. 7. ¯éëäëèéí ñèñòåì áè÷èõ• DOS ñèñòåì àøèãëàí óÿí äèñê äýýð áàéãàà bod1.java ôàéëûã c äèñêíèé java õàâòàñ ðóó õóóëæ áàéíà:
  8. 8. Ïðîöåññ ìåíåæìåíò• Ïðîöåññ íü (process çàðèìäàà job ÷ ãýäýã) ñàíàõ îéä à÷ààëàãäñàí ïðîãðàì þì.• Ïðîöåññò: • Ïðîãðàìûí òîîëóóð (program counter): Îäîî àæèëëàæ áàéãàà çàõèðàìæûí äàðàà àëü çàõèðàìæ àæèëëàõûã çààæ áàéäàã. Ïðîöåññîð íü îäîî àæèëëóóëæ áàéãàà çàõèðàìæàà àæèëëóóëñíû äàðàà Ïðîãðàìûí Òîîëóóðò áàéãàà õàÿãààð äàðàà÷èéí çàõèðàìæèéã îëæ àâ÷ àæèëëóóëàõ áà ýíý ¿åä òýðíèé äàðàà÷èéí çàõèðàìæèéí õàÿã ýíý òîîëóóðò îðäîã. • Còåê (Stack): Ëîêàë õóâüñàã÷, ôóíêöèéí àðãóìåíò, áóöààõ óòãûí áàéðëàõ õàÿã çýðãèéã àãóóëñàí æèæèã õýìæýýíèé ñàíàõ îé. • ªãºãäëèéí õýñýã (Data section): Ýíä ïðîãðàìûí ãëîáàëü õóâüñàã÷èä áàéðëàäàã.
  9. 9. Ïðîöåññèéí òºëºâ• Ïðîöåññèéã á¿ðä¿¿ëæ áóé çàõèðàìæóóä íü äàðààëëàí àæèëäàã.• Ïðîöåññ á¿ðò òºëºâ áàéäàã áºãººä ¯Ñ íü ýíý òºëºâèéã õÿíàæ ººð÷èëæ áàéäàã.• Ïðîöåññèéí òºëºâ íü • Øèíý (New): Ïðîöåññ ¿¿ñãýãäýæ áàéõäàà ýíý òºëºâò îðøèíî. • Àæèëëàõ (Running): Çàõèðàìæóóä íü ïðîöåññîðîîð ¿éë÷ë¿¿ëæ áàéõ ¿åä. • Õ¿ëýýõ (Waiting): Ïðîöåññ íü ÿìàð íýã ¿éë ÿâäëûã õ¿ëýýæ áàéõ ¿åä èéì òºëºâò áàéíà. (æø: îðîëò ãàðàëòûã äóóñàõûã õ¿ëýýõ, ººð ïðîöåññîîñ ìýññýæ èðýõèéã õ¿ëýýõ…) • Áýëýí (Ready): Ïðîöåññ òºâ ïðîöåññîðîîð ¿éë÷ë¿¿ëýõýä áýëýí áîëñîí ¿åä ýíý òºëºâò îðíî. • Äóóññàí (Terminated): Ïðîöåññ àæèëëàæ äóóññàí (á¿õ çàõèðàìæóóä íü àæèëëàààä äóóññàí)
  10. 10. Õýðâýý ïðîöåññèéí á¿õ çàõèðàìæ àæèëëàæ äóóñâàë Õýðýâ ïðîöåññèéã Ïðîöåññ àíõ ñàíàõ îéä Ïðîöåññèéí òºëºâ óã ïðîöåññèéã äóóñëàà ãýæ àæèëëàæ áàéõ ÿâöàä à÷ààëàãäàæ áàéõ ¿åä “Øèíý” ¿çýýä “Äóóññàí” òºëºâò Ïðîöåññ ¿¿ñãýãäýæ äóóñàíãóóò “òàñàëäàë” ¿¿ñâýë òºëºâò áàéäàã. îðóóëäàã. ¯Ñ íü “äóóññàí” ò¿¿íèéã “Áýëýí” òºëºâ ð¿¿ ¯Ñ ò¿¿íèéã çîãñîîæ “Áýëýí” òºëºâò áàéãàà ïðîöåññóóäûã òºëºâò îðóóëààä ¿¿ññýí òºëºâèéí äèàãðàì: • Ïðîöåññèéí øèëæ¿¿ëíý. ñàíàõ îéãîîñ çàéëóóëæòàñàëäëûã òºâ ïðîöåññîð àæèëëàæ Ïðîöåññ õóâààðèëàã÷ íü Õýðýâ ïðîöåññ ñàíàõ îéã ÷ºëººëäºã. áîëîâñðóóëæ ýõýëäýã. õèéæ ýõýëáýë “Áýëýí” òºëºâò áàéãàà áàéõäàà Î/à Óã ïðîöåññèéí Î/Ã-í (ýðõèéã ïðîöåññóóäààñ ñîíãîí ò¿¿íèéã ¿¿íèéãýý äóóñãàòàë àæèëëàãàà äóóñâàë ¯Ñïðîöåññîðò íü õàðãàëçàí) òºâ ò¿¿íèé íü ò¿ð ïðîöåññîðîîñ òºëºâèéã “Áýëýí” òºëºâò Ýíý ¿éë÷ë¿¿ëýõýýð ºãíº. ãàðãàæ “Õ¿ëýýõ” òºëºâò îðóóëíà. Èíãýñíýýð óã òºëºâ ñîíãîãäñîí ïðîöåññèéí îðóóëäàã. Ýíý íü Î/Ã-ã ïðîöåññ òºâ ïðîöåññîðîîð íü “Àæèëëàõ” áîëíî. äóóñàõûã óã ïðîöåññ ¿éë÷ë¿¿ëýõýä áýëýí áîëëîî õ¿ëýýæ áàéíà ãýñýí ¿ã. ãýäãèéã èëòãýäýã.
  11. 11. Ïðîöåññ Óäèðäàõ Áëîê - ÏÓÁ(Process Control Block - PCB)• ¯Ñ íü ïðîöåññ á¿ðò ÏÓÁ õýìýýõ òóõàéí ïðîöåññòîé õîëáîîòîé ìýäýýëëèéã àãóóëàõ îðîí çàéã ºãäºã. Ýíä áàéãàà ìýäýýëëèéã íü àøèãëàí ïðîöåññèéã áîëîâñðóóëäàã.• ÏÓÁ-ä : • Ïðîöåññèéí òºëºâ (process state) • Ïðîöåññèéí äóãààð (process number) • Ïðîãðàìûí Òîîëóóð (program counter) • Ïðîöåññîðûí ðåãèñòåð¿¿ä (CPU registers) • Ïðîöåññîð õóâààðèëàõ ìýäýýëýë (SPU scheduling info) • Ñàíàõ îé õóâààðèëàõ ìýäýýëýë (memory management info) • Á¿ðòãýëèéí ìýäýýëýë (accounting info) • Î/Ã-ûí òºëºâèéí ìýäýýëýë (I/O status info)
  12. 12. Ïðîöåññ Óäèðäàõ Áëîê - ÏÓÁ(Process Control Block - PCB)• Ïðîöåññèéí òºëºâ (process state) • Ýíä Øèíý, Àæèëëàõ, Õ¿ëýýõ, Áýëýí, Äóóññàí çýðýã óòãóóäûí àëü íýã íü áàéíà.• Ïðîöåññèéí äóãààð (process number) • Ïðîöåññèéí ¿éëäëèéí ñèñòåì äýõ äàõèí äàâòàãäàõã¿é äóãààð. Ýíý äóãààðààð íü ïðîöåññóóäûã ÿëãàíà.• Ïðîãðàìûí Òîîëóóð (program counter) • Ýíý ïðîöåññèéí òºâ ïðîöåññîð ðóó îðîõ äàðàà÷èéí çàõèðàìæèéí õàÿãèéã àãóóëíà.
  13. 13. Ïðîöåññ Óäèðäàõ Áëîê - ÏÓÁ(Process Control Block - PCB)• Ïðîöåññîðûí ðåãèñòåð¿¿ä (CPU registers) • Êîìïüþòåðèéí òºð뺺ñ õàìààð÷ ýíý ðåãèñòåð¿¿äèéí òîî øèðõýã áîëîí õýìæýý íü ÿíç á¿ð áàéæ áîëíî. Ïðîãðàìûã àæèëëàæ áàéõ ÿâöàä òàñàëäàë ¿¿ñýí óã ïðîãðàìûã çîãñîîõ øààðäëàãà ãàðâàë òóõàéí ¿åä áàéñàí ðåãèñòð¿¿äèéí óòãûã Ïðîãðàìûí Òîîëóóðûí õàìò õàäãàëäàã. Òàñàëäëûã áîëîâñðóóëæ äóóññàíû äàðàà óã ïðîãðàìûí àæèëëàãààã ñýðãýýõäýý ýíä õàäãàëñàí óòãóóäûã ïðîöåññîðûí õàðãàëçàõ ðåãèñòåð¿¿äýä à÷ààëààä Ïðîãðàìûí Òîîëóóðûã ìºí ñýðãýýñíèé äàðàà àæèëëóóëíà. Ðåãèñòåðèéí òºðºë íü: • Öóãëóóëàã÷ ðåãèñòåð¿¿ä • Èíäåêñ ðåãèñòåð¿¿ä • Ñòåêèéí çààã÷ ðåãèñòð • Åðºíõèé çîðèóëàëòûí ðåãèñòð • Òºëºâèéí ðåãèñòð • Ïðîöåññîð õóâààðèëàõ ìýäýýëýë (SPU scheduling info) • Ñàíàõ îé õóâààðèëàõ ìýäýýëýë (memory management info) • Á¿ðòãýëèéí ìýäýýëýë (accounting info) • Î/Ã-ûí òºëºâèéí ìýäýýëýë (I/O status info)
  14. 14. Ïðîöåññ Óäèðäàõ Áëîê - ÏÓÁ(Process Control Block - PCB)• Ïðîöåññîð õóâààðèëàõ ìýäýýëýë (SPU scheduling info) • Ïðîöåññèéí ýðõ • Ïðîöåññóóäûí æàãñààëòàíä áàéðëàæ áàéãàà äóãààð• Ñàíàõ îé õóâààðèëàõ ìýäýýëýë (memory management info) • Ñóóðü ðåãèñòåð • Õÿçãààð ðåãèñòð • Õóóäàñíû õ¿ñíýãò • Ñåãìåíòèéí õ¿ñíýãò• Á¿ðòãýëèéí ìýäýýëýë (accounting info) • Ïðîöåññîðò áàéõ õóãàöàà • Íèéò áàéñàí õóãàöàà • Ïðîöåññèéí äóãààð• Î/Ã-ûí òºëºâèéí ìýäýýëýë (I/O status info) • Óã ïðîöåññòîé õîëáîãäîæ àæèëëàæ áàéãàà òºõººðºìæ¿¿äèéí æàãñààëò • Ýíý ïðîöåññèéí îíãîéëãîñîí îäîî àøèãëàãäàæ áàéãàà ôàéëóóäûí æàãñààëò
  15. 15. ÏÓÁ íü ïðîöåññá¿ðò áàéäàã á¿ëýãìýäýýëýë þì.
  16. 16. Ïðîöåññ P1 àæèëëàæ áàéíà. Ýíý õîîðîíä ïðîöåññ P0 Ïðîöåññ P1 àæèëëàæ áàéíà. Äàõèí òàñàëäàë ¿¿ññýí òóë “Áýëýí” Ïðîöåñ P0 áîëîí P1 òºëºâòýéãýýð Ýõëýýä ïðîöåññ P0 àæèëëàæ P1 ïðîöåññûí òºëºâèéã õ¿ëýýñýýð¯Ñ õýðõýí ýýëæëýí õî¸ðûã áàéíà. áàéíà. ÏÓÁ-ä íü àæèëëóóëæ áàéãààã õàðúÿ. (PCB1) õèéæ õàäãàëààä ¿¿ññýí òàñàëäëûã Òàñàëäëûã áîëîâñðóóëíà. ¯¿ññýí òàñàëäëûã áîëîâñðóóëñíû äàðàà ¯Ñáîëîâñðóóëæ áàéíà. íü P0 ïðîöåññûã Ãýíýò òàñàëäàë ¿¿ññýí òóëñîíãîâ. àæèëëóóëàõààð ïðîöåñ P0-ãÒèéìýýñ ò¿¿íèé òºëºâèéã çîãñîîæ òýð ¿åèéí ¯¿ññýí òàñàëäëûã òºâ ðåãèñòð¿¿äèéí ÏÓÁ-ñ íü (PCB0) íü óòãà áîëîí ïðîöåññîðîîð áîëîâñðóóëæ Òàñàëäëûã áîëîâñðóóëæ äóóññàíû óòãûã ¯Ñ Ïðîãðàìûí Òîîëóóðûíõ íü äàðàà P0 ïðîöåññ àæèëëàæ ñýðãýýãýýä óäèðäëàãûã áàéíà. Ýíý õîîðîíä P0 áîëîí P1 íü “áýëýí” ïðîöåññóóäûí äàðààëëààñ P1 áàéíà. óã ïðîöåññèéí ÏÓÁ-ä õàäãàëíà P0-ä øèëæ¿¿ëæ áàéíà. ïðîöåññóóä “Áýëýí” ïðîöåññûã àæèëëóóëàõààð ñîíãîâ. Òèéìýýñ óã (PCB0) ïðîöåññóóäûí äàðààëàëä ñóë ïðîöåññûí ÏÓÁ-ñ ýíý ïðîöåññèéí õàìãèéí çîãñîí (idle) ïðîöåññîðûã ñ¿¿ëä àæèëëàæ áàéõàä áàéñàí ïðîöåññîðûí ñóëðàõûã õ¿ëýýæ áàéíà. ðåãèñòåð¿¿äèéí óòãà, Ïðîãðàìûí Òîîëóóðûí óòãûã àâ÷ ïðîöåññîðò õèéãýýä óäèðäëàãûã P1-ä øèëæ¿¿ëíý.
  17. 17. Ïðîöåññèéí äàðààëàë• Ïðîöåññ ñàíàõ îéä à÷ààëàãäìàãöàà Ïðîöåññèéí Äàðààëàëä (Process Queue) á¿ðòãýãäýíý.• Ýíý äàðààëàëä ñàíàõ îéä áàéãàà á¿õ ïðîöåññóóä æàãñäàã.• Ñàíàõ îéä áàéãàà “Áýëýí” òºëºâòýé ïðîöåññóóä íü “Áýëýí Äàðààëàë”-ä (Ready Queue) õàäãàëàãäàíà.• Ýíý äàðààëàëä ïðîöåññóóäûí ÏÓÁ-ûí ýõëýë áà òºãñãºëèéí õàÿãóóä áàéðëàíà.• ̺í ÏÓÁ á¿ð íü äàðàà÷èéí ïðîöåññèéí ÏÓÁ-í õàÿãèéã àãóóëñíààð äàðààëàë áîëíî.
  18. 18. Ïðîöåññèéí äàðààëàë• ¯Ñ-ä ìºí ººð äàðààëëóóä áàéäàã.• Ïðîöåññóóä Î/Ã-ã õ¿ëýýæ “Õ¿ëýýõ” ãîðèìä îðñîí áîë ÿìàð òºõººðºìæèéã õ¿ëýýæ áàéñàí óã òºõººðºìæèéã õ¿ëýýæ áàéãàà ïðîöåññóóäûí äàðààëàëä æàãñàíà.• Êîìïüþòåðò àøèãëàãäàæ áàéãàà òºõººðºìæ á¿ðò çîðèóëñàí èéì äàðààëëóóäûã ¯Ñ çîõèîí áàéãóóëäàã.• Èéì äàðààëëóóäûã “Òºõººðºìæèéí Äàðààëàë” (device queue) ãýíý.
  19. 19. Õàìãèéí ñ¿¿ë÷èéí ÏÓÁ- Äàðààëàë äàõü í äàðàà÷èéí çààã÷ íü ÏÓÁ-óóä áèåTerminal unit 0 òºõººðºìæèéí äàðààëàëä íýãáèåýý çààñàí Õîîñîí áóþó “NULL” ïðîöåññ áàéíà. Ýíý ïðîöåññ óòãà “Õ¿ëýýõ” òºëºâò îðøèíî. ìºí çààäàã. áàéäàã.Òºõººðºì溺ñ ìýäýýëýë àâ÷ äóóññàíûõàà äàðàà ýíý ïðîöåññ “Áýëýí” òºëºâòýé ïðîöåññóóäûí äàðààëàë Ýíý äàðààëëûí Tail áóþó ðóó äàðààëëûí Head áóþó Ýíý øèëæèõ äàðààëàëä PCB7 áà PCB2 Ýíý áîëíî. Òîëãîé õýñýãò äàðààëàë Áýëýí òºëºâò îðøèæ õî¸ð ÏÓÁ æàãññàí áàéíà. ãýñýí Ñ¿¿ë õýñýãò äàðààëàë äàõ áàéãàà ïðîöåññóóäûí ýõíèé ÏÓÁ-í àæèëëàõàä äàõ õàìãèéí õýëáýë îäîî ªºðººð õàìãèéí ñ¿¿ëèéí äàðààëàë (Áýëýí áàéíà. õàÿã õàÿã ïðîöåññèéí ÏÓÁ-í ïðîöåññ ñèñòåìä áýëýí õî¸ð áàéíà tape unit0 Mag áàéíà. ãýñýí ¿ã. Ïðîöåññîð Äàðààëàë) òºõººðºìæèéí äàðààëàëä Mag tape unit1 ÷ºëººòýé áîëîíãóóò ýíý õî¸ð îäîîãîîð ïðîöåññóóä ïðîöåññèéí àëü äàðààëàëä ÷ òºõººðºìæèéí íýãèéã íü ñîíãîí îðîîã¿é áàéíà. àëãà.íü óã àâ÷ïðîöåññ Ýíý áîëíî. àæèëëóóëàõ òºõººðºìæèéã õýðýãëýõèéã õ¿ññýí ïðîöåññ îäîîãîîð Õàðèí disk unit 0 òºõººðºìæèéí ãàðààã¿é áàéíà ãýñýí ¿ã. äàðààëàëä ãóðâàí ïðîöåññ æàãññàí áàéíà. Ýíý ãóðâàí ïðîöåññ íü äèñêòýé àæèëëàõûí òóëä “Õ¿ëýýõ” òºëºâò áàéãàà þì.
  20. 20. Ïðîöåññ òºëºâëºëò• Øèíýýð ¿¿ññýí ïðîöåññ íü “Áýëýí Äàðààëàë”-ä îðíî.• Áýëýí Äàðààëëààñ ïðîöåññîðò îðæ àæèëëàäàã. Ïðîöåññîðò áàéõ ¿åä äàðààõ òîõèîëäëóóäûí àëü íýã íü áîëäîã: • Ïðîöåññ íü Î/Ã-í õ¿ñýëò ãàðãàæ “Òºõººðºìæ Äàðààëàë”-ä îðíî. Î/à äóóñàõ ¿åä ò¿¿íèéã áóöààí “Áýëýí Äàðààëàë”-ä îðóóëíà. • Õ¿¿ ïðîöåññ ¿¿ñãýýä ò¿¿íèéã àæèëëàæ äóóñàõûã õ¿ëýýíý. Õ¿¿ ïðîöåññ äóóñàõàä óã ïðîöåññ “Áýëýí Äàðààëàë”-ä îðæ àæèëëàõ ýýëæýýõ õ¿ëýýíý. • Òàñàëäàë ¿¿ñâýë óã ïðîöåññûã õ¿÷ýýð ïðîöåññîðîîñ ãàðãàí “Áýëýí Äàðààëàë”-ä áàéðëóóëíà.
  21. 21. Ïðîöåññ òºëºâëºëò• Ïðîöåññîîñ ººðººñºº õ¿¿ ïðîöåññ (child process) ¿¿ñãýæ ººðèéí àæëûí çàðèì õýñãèéã õèéëãýæ áîëíî.• Íýã ïðîöåññîîñ õýäýí ÷ õ¿¿ ïðîöåññ ¿¿ñýæ áîëíî.• Õ¿¿ ïðîöåññ ¿¿ñãýõèéí òóëä ñèñòåìèéí “Fork” äóóäàëòûã àøèãëàäàã.
  22. 22. Èéì áàéäëààð óã ïðîöåññ á¿õ àæëàà äóóñãàí ñèñòåìýýñ ãàðòëàà ýíý çàìààð Ïðîöåññ òºëºâëºëòèéíäóóñìàãö öèêëäýí àæèëëàäàã. Ïðîöåññ äèàãðàì ò¿¿íèé ÏÓÁ-ã á¿õ äàðààëëààñ óñòãàäàã. Õ¿¿ ïðîöåññïðîöåññ àæèëëàæ Õ¿¿ ¿¿ñãýýä óã ïðîöåññèéã àæèëëàæ äóóñòàë íü äóóñâàë ýõ ïðîöåññ Õ¿¿ ïðîöåññ íü àæèëëàæ õ¿ëýýæ áîëíî. Ýíý õîîðîíä îðæ “áýëýí äàðààëàë”-ä áàéíà. “Õ¿ëýýõ” òºëºâò îðøèíî. ßìàð àæèëëàõ ýýëæýý íýã òàñàëäëûã Îðîëòûí ¿éë àæèëëàãàà õ¿ëýýíý. õ¿ëýýõýýð Óã òàñàëäëûã Õ¿ëýýñýí òàñàëäàë ïðîöåññîðîîñ(æø óÿí äèñêíýýñ äóóñìàãö ãàð÷ àæèëëàæ äóóññàíû Ïðîöåññ Ïðîöåññ òºâ ¿¿ñýíã¿¿òýý ôàéëûíõàà ºãºãäëèéã ¿¿ñýæ áàéíà. “Áýëýí áîëíî. “Áýëýí Àæèëëàõ ýýëæ íü äàðàà ïðîöåññîðîî𠺺𺺠äóóñààä ìºí Ïðîöåññ Äàðààëàë”-ä îðíî. àâ÷èõñàí áîë) áóöààä áýëýí Äàðààëàë”-ä ñèñòåìýýñ ãàð÷ áîëíî. ïðîöåññ “Áýëýí Ýíä àæèëëàõàäîðíî.áýëýí ¿éë÷ë¿¿ëæ áàéõàä áîëîíãóóò Î/Ã-ã äàðààõáîëíî. Æèøýý íüîðæ Äàðààëàë”-ñ ïðîöåññóóäûí äàðààëàëä ïðîöåññóóä “îî÷èðëîäîã” Î/Ã-í ¿éë àæèëëàãàà ãàð÷ õ¿ñýæ òîõèîëäëóóäûí ïðîöåññîðîîð ¿éë÷ë¿¿ëýõÒºâ ïðîöåññîðîîð ¿éë÷ë¿¿ëýõ õóãàöààîðîëòûí äóóñòàë óã õàíäñàí Õ¿ëýýñýí íü óÿí(Ready Queue) áîëíî. ïðîöåññîðîîð ¿éë÷ë¿¿ëíý. äèñêíýýñ ôàéë óíøèõ àëü íýã ¿¿ñýæ ýýëæýý õ¿ëýýæ ýõýëíý. ¿éë àæèëëàãàà õ¿ñýëò ãàðãàõ. äóóñàæ áîëíî. Òýãâýë õóãàöààíû¯¿íä: òºõººðºìæíèéõºº ÿâàãäàæ áàéíà òàñàëäàë ¿¿ñýí óã ïðîöåññûã äàðààëàëä õ¿ëýýíý. ïðîöåññîðîîñ õ¿÷ýýð ãàðãàí “áýëýí äàðààëàë”-ä îðóóëíà.
  23. 23. Ïðîöåññ òºëºâëºã÷(Process Scheduler)• Îéðûí òºëºâëºã÷ (short-term scheduler) • Áýëýí ïðîöåññóóäûí äàðààëëààñ àëü ïðîöåññèéã ñîíãîæ ïðîöåññîðò îðóóëàí àæèëëóóëàõ âý ãýäãèéã øèéääýã ïðîãðàì • Ýíý ïðîãðàì ìàø èõ äàâòàìæòàé àæèëëàäàã òóë êîä íü àëü áîëîõ áîãèíîõîí áàéõ õýðýãòýé. Èõ áàéâàë ç¿ãýýð ë àæèëëàõ ïðîöåññ ñîíãîõîä ¯Ñ íü èõ öàã çàðäàã áîëíî.• Õîëûí òºëºâëºã÷ (long-term scheduler) • ßìàð ïðîöåññèéã “Áýëýí” ïðîöåññóóäûí äàðààëàëä îðóóëàõ âý ãýäãèéã øèéääýã ïðîãðàì. Òºõººðºìæ á¿ð äýýð îëîí òîîíû ïðîöåññóóä õ¿ëýýæ áàéæ áîëäîã òóõàé ¿çñýí. Òýãâýë ýäãýýðýýñ àëèéã íü áýëýí äàðààëàëä îðóóëàõûã ýíý ïðîöåññ øèéäíý.
  24. 24. Ïðîöåññ òºëºâëºã÷(Process Scheduler)• Õýðâýý îëîí òîîíû ïðîöåññóóä à÷ààëàãäààä ñàíàõ îé ä¿¿ðâýë ñàíàõ îéä áàéãàà ïðîöåññóóäààñ õàìãèéí áàãà ýðõòýéãýýñ íü ýõëýýä ñîíãîí àâ÷ ñàíàõ îéãîîñ ãàðãàí õàòóó äèñê äýýðõ ò¿ð ñàíàõ îéí çàéä õóóëäàã (¿¿íèéã swapp out áóþó 纺ëò ãýíý). Òýãýýä òýäíèé îðîíä ¿¿ññýí ñàíàõ îéí ÷ºëººò çàéíä ºíäºð ýðõ á¿õèé øèíý ïðîöåññóóäûã à÷ààëäàã.• Ïðîöåññóóä àæèëëàñààð äóóñàæ ñàíàõ îé ñóëðààä èðâýë óã äèñê äýýð ò¿ð õàäãàëàãäñàí “Õ¿ëýýëò”-íä áàéãàà ïðîöåññóóäûã áóöààí ñàíàõ îé ðóó 纺æ (swap in) ¿ðãýëæë¿¿ëýí àæèëëóóëíà.• Õàòóó äèñê äýýð èíãýæ ïðîöåññóóäûã ò¿ð õàäãàëàõ çîðèóëàëòòàé àøèãëàäàã ñàíàõ îéã Âèðòóàë Ñàíàõ Îé (Virtual Memory) ãýäýã.
  25. 25. Õàòóó äèñê äýýðõ Âèðòóàë ñàíàõ îé Ïðîöåññ òºëºâëºã÷äîòîð îãò àæèëëààã¿é ýñâýë òàë íü Âèðòóàë ñàíàõ îé ðóó (Process Scheduler) àæèëëàñàíïðîöåññóóä ñàíàõ îéã 纺ãäºæ áîëíî. Ñàíàõ îé ñóëðàíãóóò Õîëûí Òºëºâëºã÷ íü ýäãýýð õ¿ëýýæ Áýëýí ïðîöåññóóäûíñóëðàõûã õ¿ëýýí áàéæ ïðîöåññ òºâ Óã áàéãàà ïðîöåññóóäààñ àëü Òºâ Ïðîöåññîðîîñ óã áàéäàã. äàðààëëààñ Îéðûí ïðîöåññîðîîð íü àæëàà ïðîöåññ íýãèéã íü ñîíãîí àâ÷ áóöààí Òºëºâëºã÷ íü ïðîöåññ ¿éë÷ë¿¿ëæ áàéíà. äóóñãààä ñèñòåìýýñ ñàíàõ îé äàõü “Áýëýí ñîíãîí òºâ ïðîöåññîð ãàð÷ áîëíî. Äàðààëàë”-ä îðóóëäàã. ðóó îðóóëäàã
  26. 26. Ïðîöåññ ¿¿ñãýõ• Ïðîöåññ íü create-process ñèñòåìèéí äóóäàëòûã àøèãëàí øèíý ïðîöåññ ¿¿ñãýæ áîëíî.• ¯¿ñãýñýí ïðîöåññèéã ýöýã ïðîöåññ (parent process), ¿¿ññýí ïðîöåññèéã óã ïðîöåññèéí õ¿¿ ïðîöåññ (children process) ãýæ íýðëýäýã.• Õ¿¿ ïðîöåññóóä íü ÷ áàñ öààøàà ïðîöåññ ¿¿ñãýæ áîëíî. Èíãýñíýýð ìîä á¿òýö ¿¿ñäýã.
  27. 27. Ïðîöåññ ¿¿ñãýõ• Õ¿¿ ïðîöåññóóäàä ¿éë àæèëëàãààãàà ÿâóóëàõûí òóëä ñàíàõ îé, ïðîöåññîðîîð ¿éë÷ë¿¿ëýõ õóãàöàà, Î/à òºõººðºìæ õýðýãòýé áîëíî.• ͺºö õóâààëöàõ: • Ýöýã õ¿¿ ïðîöåññ á¿õ íººöºº õóâààëöàõ. • Õ¿¿ ïðîöåññ íü ýöýã ïðîöåñèéí íººöèéí çàðèì õýñãèéã ýçýìøèõ. • Ýöýã õ¿¿ ïðîöåññóóä íººö õóâààëöàõã¿é.• Àæèëëàõ: • Ýöýã õ¿¿ ïðîöåññ çýðýã àæèëëàõ. • Ýöýã íü õ¿¿ ïðîöåññîî äóóñòàë õ¿ëýýõ.
  28. 28. Ïðîöåññ ¿¿ñãýõ• Õ¿¿ ïðîöåññèéí ñàíàõ îéí õàÿã: • Ýöýã ïðîöåññòîéãîî èæèëõýí õàÿãòàé. • ªºð ïðîãðàìûí õàÿãòàé.• UNIX ñèñòåìèéí õóâüä: • Fork ñèñòåìèéí äóóäàëòààð õ¿¿ ïðîöåññ ¿¿ñãýíý. • Exec ñèñòåìèéí äóóäàëòûã fork-í äàðàà õýðýãëýñíýýð ýíý ïðîöåññèéí ñàíàõ îéä øèíý ïðîãðàì à÷ààëàãäàíà.
  29. 29. Ïðîöåññ ¿¿ñãýõ• Ïðîöåññ íü ñ¿¿ë÷èéí çàõèðàìæàà àæèëëóóëæ äóóññàíû äàðàà ¯Ñ-ä äóóñãàõ õ¿ñýëò òàâüäàã (exit).• Ýöýã ïðîöåññ äóóñâàë õ¿¿ ïðîöåññóóäûã íü ¯Ñ àæèëëàõûã çºâøººðºõã¿é áàéæ áîëíî. Ýíý òîõèîëäîëä á¿ãäèéã íü äóóñãàíà.• Ýöýã ïðîöåññ íü õ¿¿ ïðîöåññîî äóóñãàæ áîëíî (abort): • Õ¿¿ ïðîöåññ õóâààðèëæ ºãñºí íººöººñ èë¿¿ã õýðýãëýæ ýõýëáýë (èë¿¿ èõ ñàíàõ îé øààðäâàë) • Õ¿¿ ïðîöåññò ºãñºí äààëãàâàð öààøèä õýðýãã¿é áîëáîë. • Ýöýã ïðîöåññ äóóñâàë
  30. 30. Ïðîöåññ ¿¿ñãýõ• Æèøýý àâ÷ ¿çüå:• ×àò ñåðâåð ïðîöåññ À àæèëëàæ áàéñàí áàéã.• Óã ïðîöåññ ðóó B, C ãàäíû ïðîöåññóóä õàíäàí õîëáîãäîõ õ¿ñýëò òàâüæýý.• Ýíý òîõèîëäîëä À ïðîöåññ B, C ïðîöåññòîé ÿàæ çýðýã àæèëëàõ âý?• ¯¿íèéã øèéäýõèéí òóëä À ïðîöåññ ãàäíààñ õîëáîãäîõ õ¿ñýëò îðæ èðýõ áîëãîíä óã õ¿ñýëòèéã øèéäýæ óã ïðîöåññòîé õàðèëöàõ õ¿¿ ïðîöåññ ¿¿ñãýí ò¿¿íä äààòãàäàã.• Ãàäíààñ õýäýí ïðîöåññ õîëáîãäîíî, òýð òîîãîîð ñåðâåð ïðîöåññ íü õ¿¿ ïðîöåññóóä ¿¿ñãýí àæèëëóóëäàã.• Õîëáîî òàñðàõàä óã õîëáîîòîé àæèëëàæ áàéñàí õ¿¿ ïðîöåññ àæëàà äóóñãàí óñòäàã.
  31. 31. Ïðîöåññ ¿¿ñãýõ À (÷àò ñåðâåð) A1 (õ¿¿) A2 (õ¿¿) Ñ B
  32. 32. Ïðîöåññóóäûí õîëáîî• Ïðîöåññûí õîëáîîíû äàâóó òàë: • Íýã áîäëîãûã îëîí ïðîöåññóóä õóâààí áîäîæ áîëíî. Æèøýý íü 1996 îíä Êàñïàðîâòîé äýëõèéí àâàðãûí òºëºº òîãëîñîí Deep Blue øàòðûí ïðîãðàìûí í¿¿äëèéí òîîöîîëîëòûã 255 ø ïðîöåññîð äýýðõ ïðîöåññóóä õóâààí áîäîæ áàéñàí. Ýíý òýìöýýíä Deep Blue ÿëñàí. • Äóíäàà íººö õóâààí ýçýìøèõ. Æèøýý íü ñ¿ëæýýãýýð ôàéë áèå áèåäýý äàìæóóëàõ ãýõ ìýò.
  33. 33. Ïðîöåññóóäûí õîëáîî• Ïðîöåññóóä ìýäýýëýë ñîëèëöîõ àðãà: • Øóóä • Øóóä áóñ ãýæ õî¸ð ÿíç áàéíà.• Ïðîöåññóóä ìýäýýëýë Øóóä äàìæóóëàõûí òóëä: • Ýõëýýä õîëáîãäîíî. • Ìýäýýëýë èëãýýõäýý send (P, ìýäýýëýë) ãýæ èëãýýíý. Ýíý íü P ïðîöåññ ðóó ìýäýýëýë äàìæóóëàõ ñèñòåìèéí äóóäàëò þì. • Ìýäýýëýë õ¿ëýýí àâàõäàà receive (Q, ìýäýýëýë) ãýíý. Ýíý íü Q ïðîöåññîîñ ìýäýýëýë õ¿ëýýí àâàõ ñèñòåìèéí äóóäàëò þì.
  34. 34. Ïðîöåññóóäûí õîëáîî• Øóóä áóñ õîëáîîíä ïðîöåññóóä ìýäýýëëýý ººð ïðîöåññ ðóó áèø õàðèí ìýéë õàÿã ðóó èëãýýäýã.• Õ¿ëýýæ àâàõ ïðîöåññ íü ìýéë õàÿãààñ èðñýí ìýäýýëëèéã õ¿ëýýí àâíà.
  35. 35. ClientServer õîëáîî• Ñîêåòóóä (sockets)• Ñîêåò àøèãëàí èíòåðíýò, äîòîîä ñ¿ëæýý, áàéãóóëëàãûí ñ¿ëæýýí áàéãàà ïðîöåññóóä õîîðîíäîî ìýäýýëýë äàìæóóëæ ÷àäíà.• Ðàçåòêèéã (òîãíèé çàëãóóð) áàñ àíãëèàð Socket ãýäýã (õîëáîæ áàéãàà ãýñýí ñàíààòàé).
  36. 36. Ñîêåò• Ýíý àðãààð õî¸ð òàë õîëáîãäîõäîî õî¸ð ñîêåò àøèãëàí õîëáîãäîíî.• Ñîêåò á¿ð íü õîëáîãäîæ áàéãàà òàëóóäûí IP õàÿã áîëîí ìýäýýëëèéã õ¿ëýýæ àâàõ ïðîöåññèéí ïîðòûí äóãààðûã àãóóëñàí áàéäàã.• (192.168.155.3:1524) ãýñýí ñîêåòûí 192.168.155.3 íü IP õàÿã, 1524 íü ïîðòûí äóãààð íü þì.• Õîëáîî íü õîñ ñîêåòîîð ¿¿ñíý.
  37. 37. Ñîêåò
  38. 38. Java äýýð áè÷ñýí “Öàã õàðèóëàã÷” ñåðâåðèéí êîä.Àøèãëàõ ñîêåòóóäàà çàðëàæ áàéíà Ýíý ñåðâåð ð¿¿ õîëáîãäñîí ïðîöåññ ðóó îäîî áîëæ 5155 ïîðò äýýð àæèëëàõ áàéãàà öàãèéã äàìæóóëíà.ÎäîîÃàäíû Ñîêåò ðóóáàéíà. Ñåðâåð ñîêåò õèéí ãàäíààñ äàâòàëò ¿¿ñãýæ ºãºãäºë êëèåíò ïðîöåññ Ãàäíààñ õîëáîãäîõ ñîêåòûã äàìæóóëàõûí òóëä PrintWriter Õî¸ð ïðîöåññûí õîîðîíäûí õîëáîãäîõûãàøèãëàíà. Ýíý îáüåêòèéã õ¿ëýýíý. õîëáîîãõ¿ëýýæ àâíà. ýíä Ñîêåòîîð ã¿éöýòãýæ îáüåêòèéã àøèãëàí ñåðâåð áàéíà. Îäîî áîëæ áàéãàà öàãèéã ìààíü ýíãèéí println ôóíêöèéã êëèåíòèéí ñîêåòñîêåò ðóó àøèãëàí ãàäíû ðóó áè÷èæ áàéíà. ºãºãäºë îðóóëæ ÷àäíà.Ñîêåòóóäûã õààæ õîëáîîñûã òàñëàíà.ßìàð íýã àëäàà ãàðâàë ýíä óã àëäààã áàðüæ àâààä õýâëýæ ¿ç¿¿ëíý. Àëäààòàé áàéãàà áîë ñîêåòóóäûã õààíà.
  39. 39. “Öàã õàðèóëàã÷” ñåðâåð ð¿¿ õîëáîãäîí öàã àâäàã êëèåíò ïðîãðàìûí êîä. 127.0.0.1 õàÿãòàé õîñò ðóó (ýíý êîìïüþòåðòàà õîëáîãäîíî) 5155 ïîðòîîð õîëáîãäîõûã îðîëäîõ ãýæ áàéíà. Ñåðâåð ïðîãðàì Ñîêåòîîð îðæ èðñýí ìààíü ýíý ïîðòîîð õ¿ëýýæºãºãäëèéã in îáüåêòîä îëãîæ áàéãàà. áàéíà.Îðæ èðñýí ºãºãäëèéã (îäîîáîëæ áàéãàà öàãèéã) õýâëýí ¿ç¿¿ëæ áàéíà.
  40. 40. Øèíý ¿ãñ• booting: Êîìïüþòåð àñàíãóóò ¯Ñ-í öºìèéã îëæ à÷ààëàõ ïðîöåññèéã õýëäýã.• Bootstrap program: ROM äîòîð áàéäàã áºãººä êîìïüþòåðèéã àñàíãóóò õàìãèéí ò¿ð¿¿íä àæèëëààä ¯Ñ-í êåðíåëèéã îëæ ñàíàõ îéä à÷ààëàí àæèëëóóëäàã õýñýã êîä.• process: Ñàíàõ îéä à÷ààëàãäñàí ïðîãðàì.• Run: Àæèëëàõ. Ïðîöåññ òºâ ïðîöåññîðîîð ¿éë÷ë¿¿ëæ áàéõ ¿åèéã àæèëëàæ áàéíà ãýäýã.• State: Òºëºâ. Ïðîöåññèéí òºëºâ.
  41. 41. Øèíý ¿ãñ• queue: Äàðààëàë.• Fork: Ïðîöåññîîñ õ¿¿ ïðîöåññ ¿¿ñãýäýã ñèñòåìèéí äóóäàëò.• Process scheduler: Ïðîöåññ òºëºâëºã÷. Áýëýí ïðîöåññèéí äàðààëëààñ àëèéã íü ïðîöåññîð ðóó îðóóëæ àæèëëóóëàõ âý ãýäãèéã ñîíãîã÷ ïðîãðàì.• Process Swapping: Ïðîöåññèéã ñàíàõ îéãîîñ äèñê 𿿠纺õèéã õýëíý.• Virtual memory: Âèðòóàë ñàíàõ îé. Ñàíàõ îéí õàòóó äèñêýí äýýðõ õýñãèéã õýëäýã. Ñàíàõ îé ä¿¿ðýõ òîõèîëäîëä ïðîöåññóóäûã ñàíàõ îéãîîñ âèðòóàë ñàíàõ îé ðóó 纺äºã. ¯¿íèé à÷ààð ñàíàõ îéä õÿçãààð áàéõã¿é áîëäîã.

×