20
жасау қажет болса (мысалы, енгізу-шығару операциясын аяқтау керек болды), бұл кезде процесс
тоқтатылады, немесе ОЖ берілген процесстің жұмысына бөлінген уақыт интервалы бітсе процесс
тоқтатылады. Осыдан кейін ОЖ арнайы алгоритм бойынша процесс «орынындалмайтын» күйде
тұрған кезде процесстердің бірін орындау үшін оны прцесс «орындалатын» күйге ауыстырады.
Жүйеде пайда болған жаңа процесс алғашында процесстің «орындалмайтын» күйіне ұрынады.
Бұл өте ірі,
өрескел модель, ол «орындау» үшін таңдалып алынған процессті ескермейді,
елемейді, белгілі бір әрекетті орындау үшін тоқтатылғандықтан күтіп тұра береді, яғни,
процессті
орындауға әлі дайын емес. Мұндай жағдайға ұрынбас үшін процесстің «орындалмайтын» күйін жаңа
екі күйге бөлейік: «дайындық» және «күту». (3-суретті қара)
3-сурет. Процесс күйінің диаграммасы
Жүйеде пайда болатын әрбір жаңа процесс «дайындық» күйінде тап болады. ОЖ алгоритмді
жоспарлауды пайдаланып процесстердің дайын біреуін таңдап алады да оны «орындалу» күйіне
ауыстырады. «Орындалу» күйде процесстің программалық кодын табу орындалады. Процесстің
мұндай күйден шығуының үш себебі бар:
-ОЖ оның
жұмысын тоқтатады;
-белгілі бір әрекет болмайынша ол өз жұмысын жалғастыра алмайды және ОЖ оны «күту» күйіне
ауыстсрады;
-нәтижесінде есептеу жүйесінде үзіліс пайда болады (мысалы, бөлінген уақыттың орындалуы
біткен кезде оны таймерден үзіп тастау), яғни «дайындық» күйіне қайта оралады.
Енді есептеу жүйесінде процесс болуы үшін ол «пайда болу» (рождение) күйі арқылы өтуі керек.
Процесс «пайда болғаннан» кейін өзінің кезегінде процесстің программалық коды жүктелетін оның
кеңістікте мекені (адресі) пайда болады. Оған стек және жүйелік ресурс бөлінеді және осы
санауыштың мәні қондырылады т.с.с. «Пайда болған» процесс «дайындық» күйіне ауысады. Процесс
өзінің жұмысын аяқтау кезінде «орындау» күйінен «орындауды аяқтау» күйіне тап болады.
ОЖ-дегі процесстің күйін бұдан да жақсы сипаттауға болады, яғни процесс күйінің бір түрінен
екіншісіне ауысуының бірнеше жаңа нұсқалары пайда болуы мүмкін. Мысалы, WindowsNT ОЖ үшін
модельдің күйі – 7 түрлі, ал Unix ОЖ үшін – 9 түрлі. Бірақ барлық
ОЖ-лер жоғарыда көрсетілген
модельдерге бағынады.
21
4-сурет. Курстық қабылдаған процесс күйінің диаграммасы
Сигналдар өңдеу жабдықтары. Сигналдар бір үрдістен екінші үрдіске өткенде немесе ОЖ
ядросында қандайда бір жағдайдың анықталуына байланысты түзіледі. Үрдістер арасындағы қарым –
қатынасын сигналды жіберу және қабылдау арқылы қарастырайық.
Үзулердін пайда болуы сияқты сигналдардың пайда болуы келесі себептерге байланысты:
- программа ішіндегі кейбір
жағдайлар, мысалы аса толу болғанда немесе нольге бөлгенде;
- құрылғыдан келген кейбір ақпараттарға байланысты, мысалы пернетақтадан «Ctrl+C»
комбинациясын
беруге байланысты;
-
бір үрдістің екінші үрдіске әрекеттесуіне байланысты, мысалы «SIG_KILL».
Жүйеде тиянақталған жағдай жиыны бар, олар жүйде пайда болуы мүмкін. Әр жағдайдың өзінің
уникалды аты болады: бұл аттар әдетте Unix версиясы үшін бірдей. Бұл аттарды сигналдар деп
атаймыз.
Достарыңызбен бөлісу: