Уақыттардың әрбір кезеңінде тек қана бір үрдіс белсенді
Оң жақта паралельді жұмыс істеуші үрдістер, оның әрқайсысы өз командаларының санауышымен көрсетілген. Әрине, ағымдағы үрдістің командаларының логикалық санауышы жүктелетін, командалардың тек қана бір физикалық санауышы шынында бар. Ағымдағы үрдіске бөлінген уақыт біткен кезде, командалардың физикалық санауышы жадта, үрдіс командаларының логикалық санауышында сақталады.
Үрдісті құру
Үрдістерді құрылуына алып келетін үш негізгі оқиғалар (fork шақыруы немесе CreateProcess):
Жүйені жүктеу
Үрдісті құруға, жұмысшы үрдіс жүйелік шақыру жібереді
Үрдіс құруға арналған пайдаланушы сұранысы
Барлық жағдайларда, ағымдағы белсенді үрдіс жаңа үрдіс құруына жүйелік шақыру жібереді.
UNIX –те әрбір үрдіске үрдіс идентификаторы меншіктеледі ( PID - Process IDentifier).
Үрдістің аяқталуы
Үрдістің тоқтатылуын тудыратын төрт оқиға (exit шақыруы немесе ExitProcess) бар:
Жоспарлы аяқтау (орындалудың аяқталуы)
Белгілі қатемен жоспарлы шығу (мысалы, файлдың жоқ болуы)
Түзетілмейтін қатемен шығу (программада қате)
Басқа үрдіспен жойылуы
Сонымен, тоқтатылған үрдіс, әдетте оны жадтың бейнесі (core image) деп атайтын, өзіндік адрестік кеңістіктен және үрдіс кестесінің компоненттерінен (компоненттердің ішінде оның регистрлері) тұрады.
Үрдістер иерархиясы
UNIX жүйелерінде үрдістердің қатаң иерархиясы жасалған. fork жүйелік шақырумен жасалған әрбір жаңа үрдіс, алдындағы үрдіске еншілес болып келеді. Еншілес үрдіске аталық үрдістен айнымалылар, регистрлер және т.б. беріледі. fork шақырылып, аталық мәліметтердің көшірмесі жасалғаннан кейінгі үрдістердің біреуінде пайда болған өзгертулер басқасына әсер етпейді. Бірақ үрдістер қайсысы аталық екенін есте сақтайды.
Мұндай жағдайда UNIX –те барлық үрдістердің аталарының атасы бар – init үрдісі.
Достарыңызбен бөлісу: |