Процестің жасалуы және аяқталуының уақыты арасында процес операциялық жүйеден бірнеше оқиғалардан шабуыл жасалса, соған байланысты бірнеше күйге түседі



Дата12.09.2020
өлшемі65,53 Kb.

Процестің жасалуы және аяқталуының уақыты арасында процес операциялық жүйеден бірнеше оқиғалардан шабуыл жасалса, соған байланысты бірнеше күйге түседі.

fork() атқарымының көмегімен пайда болғаннан кейін бірден процес «құрылу» күйінде болады — процестер кестесінде жазба ол үшін әлдеқашан бар, дегенмен процес деректерінің ішкі құрылымы әлі инициализацияланбаған. Процестің алғашқы инициализациясы аяқталған бойда, ол «Іске қосуға дайын» күйіне ауысады. Бұл күйде процеске барлық қажетті ресурстар қолжетімді, тек процессорлық уақыт қолжетімді емес, ол орындалуды күтіп тұрған тапсырмалар кезегінде орналасады. Жоспарлағыш процесті таңдаған бойда, ол «Ядро режимінде орындалады» күйіне ауысады, яғни операциялық жүйе ядросының процестің соңғы өзгерген күйін өңдейтін бағдарламалық кодын орындайды. Осы күйден ол «Тапсырма режимінде орындалуда» күйіне ауыса алады, ол күйге ауысқанда ол өзінің бағдарламалық кодын орындайды. Әр жүйелік шақыртуда процес «Ядро режимінде орындалуда» күйіне ауысып отырады.



«Ядро режимінде орындалуда» және «Тапсырма режимінде орындалуда» күйлерінде жоспарлағыш басқаруды басқа процеске бере алады. Бұл ретте басқаруды алып кеткен процес «Іске қосуға дайын» күйіне ауысады.

Процестің өмірлік айналымы



Белсенді процесті қайта қосқан кезде мән мәтіннің ауыстырылуы орындалады, сонымен бірге ядро ескі процес мән мәтінін сақтайды және басқару беріліп жатқан процестің мән мәтінін қайта қалпына келтіреді.

Аяқталғаннан кейін процес «Зомби» күйіне ауыстырылады, яғни процес алып жатқан жады босайды, ал процестер кестесінде процесті қайтару коды туралы ақпарат қалады. Процесті толық аяқтау үшін аталық-процес wait() атқарымын шақыртуы көмегімен жүзеге асады.

Достарыңызбен бөлісу:




©engime.org 2020
әкімшілігінің қараңыз

    Басты бет