Кіріспе

Көп тапсырмалы компьютерлік жүйеде процестер әртүрлі күйлерде болуы мүмкін. Операциялық жүйе ядросы бұл күйлерді осылай танымауы мүмкін. Дегенмен, процестерді түсіну үшін олар пайдалы түсінік береді.

Негізгі процестер күйлері

Барлық түрдегі компьютерлік жүйелерде келесідей типтік процестер күйлері болуы мүмкін. Осы күйлердің көпшілігінде процестер негізгі жадта "сақталады".

Құрылған

Процесс алғаш рет құрылғанда, ол "жасалған" немесе "жаңа" күйге өтеді. Осы күйде процесс "дайын" күйге қабылдануын күтеді. Қабылдау ұзақ мерзімді немесе қабылдау жоспарлаушысы (scheduler) арқылы мақұлданады немесе кейінге шегеріледі. Көптеген десктоп компьютер жүйелерінде қабылдау әдетте автоматты түрде мақұлданады. Дегенмен, нақты уақыт операциялық жүйелерінде қабылдау кешіктірілуі мүмкін. Нақты уақыт жүйесінде "дайын" күйге тым көп процестің қабылдануы жүйенің ресурстарын артық жүктеуге және оларға күшті талап қоюға алып келуі мүмкін, нәтижесінде процестердің мерзімдерін сақтау мүмкін болмайды.

Дайындық

"Дайын" немесе "күту" күйіндегі процесс негізгі жадқа жүктелген және CPU-да орындалуын күтуде (диспетчер немесе қысқа мерзімді жоспарлаушы оны CPU-ға ауыстырып қояды). Жүйе жұмыс істеп тұрған кез келген сәтте көптеген "дайын" процестер болуы мүмкін. Мысалы, бір процессорлы жүйеде бір уақытта тек бір процесс ғана орындала алады, ал қалған "параллель орындалатын" процестер орындалу кезегін күтеді. Компьютерлік жоспарлауда дайын кезек немесе орындалу кезектері қолданылады. Қазіргі заманғы компьютерлер бір уақытта көптеген бағдарламаларды немесе процестерді іске асыруға қабілетті. Дегенмен, CPU бір уақытта тек бір процесспен ғана жұмыс істей алады. CPU-ға дайын процестер "дайын" процестер кезегінде сақталады. Қатты дискіден ақпаратты жүктеу немесе интернет қосылысын күту сияқты белгілі бір оқиғаның орын алуын күтіп тұрған басқа процестер дайын кезекке енбейді.

Жүгіру

Процесс орындалуға таңдалғанда, орындалу күйіне көшеді. Процесс нұсқаулары жүйенің бір CPU (немесе ядросы) арқылы орындалады. Әрбір CPU немесе ядрода ең көп дегенде бір процесс орындалуы мүмкін. Процесс ядролық режимде немесе пайдаланушы режимінде екі режимнің бірінде орындалуы мүмкін.

Жедел режім

Ядролық режимдегі процестер ядролық және пайдаланушы жад кеңістіктеріне де қол жеткізе алады. Ядролық режим аппараттық құралдарға шектеусіз қол жеткізуді қамтамасыз етеді, соның ішінде ерекше құқықтармен орындалатын нұсқауларды іске қосуға мүмкіндік береді. Көптеген нұсқаулар (мысалы, кіріс-шығыс нұсқаулары және тоқтату нұсқаулары) ерекше құқықтарға ие және тек ядролық режимде ғана орындалуы мүмкін. Пайдаланушы бағдарламасынан жүйелік шақыру жасалғанда ядролық режимге ауысу жүзеге асырылады.

Бұғатталған

Процесс сыртқы жағдайдың өзгеруі немесе оқиғаның болуысыз жалғаса алмай қалғанда тоқтатылған күйге көшеді. Мысалы, егер принтер қолжетімді болмаса, I/O құрылғысына (мысалы, принтерге) шақыру кезінде процесс тоқтатылуы мүмкін. Процестер сондай-ақ пайдаланушыдан деректерді енгізуді қажет еткенде немесе атомдық түрде орындалуы тиіс маңызды бөлімге қол жеткізуді қажет еткенде де тоқтатылады. Мұндай маңызды бөлімдер семафор немесе мьютекс сияқты синхрондау объектісі арқылы қорғалады.

Аяқталды

Процесс "жұмыс істеп тұрған" күйінен орындалуын аяқтау арқылы немесе әдейі тоқтатылуы мүмкін. Екі жағдайда да процесс "аяқталған" күйіне өтеді. Негізгі бағдарлама енді орындалмайды, бірақ процесс оның аталық процессі оның шығу статусын оқу үшін wait жүйелік шақыруын (system call) шақырғанға дейін процесс кестесінде "зомби" процесс ретінде қалады. Осы шақырудан кейін процесс кестесінен алынып тасталады, сонымен процесс өмірінің аяқталады. Егер аталық процесс wait шақыруын жасамаса, процесс кестесіндегі жазба (нақтырақ айтқанда процесс идентификаторы немесе PID) босқа пайдаланыла береді, бұл ресурстардың ысырап болуына (resource leak) әкеледі.

Қосымша процестер күйлері

Виртуалды жадты қолдайтын жүйелерде процестер үшін екі қосымша күй бар. Бұл екі күйде де процестер екінші жадқа (әдетте қатты дискіге) "сақталады".

Алмастырып , күту

(Сонымен қатар тоқтап тұрған және күтіп отырған деп те аталады.) Виртуалды жадты қолдайтын жүйелерде процесс жадтан шығарылып, яғни негізгі жадтан алынып, жоспарлаушы (scheduler) оны сыртқы жадқа орналастыруы мүмкін. Одан процесс күту күйіне қайта оралуы мүмкін.

Блокталған және ауыстырылған

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