63
және басқа да «бала-процесстерімен» бӛлісу арқылы ОЖ-ге қатыссыз ӛзіне
керек ресурстарды алады. Бӛлінген ресурстар туралы ақпараттар РСВ-ға
енгізіледі.
«Бала-процесс» ресурстарын бӛліп болғаннан кейін оның программа ко-
дын кеңістіктегі адресіне деректер мәнін енгізу керек және программа са-
науышын қондыру керек. Бұл жерде де екі шешім болуы мүмкін. Бірінші
жағдайда регистрлік және қолданушы жанамасы бойынша «бала-процесс»
«ата-ана-процессінің» кӛшірмесіне (дубликатына) ауысады, сонымен қатар
осы кезде егіз-процесстің қайсысы ата-ана болатынын анықтайтын әдіс пайда
болу керек. Ал екіншіжағдайда «бала-процесс» қандайда бір файлдың жаңа
программасы болып жүктеледі. Unix ОЖ-сі процесстердің болмай қалуын тек
бірінші жағдайда ғана болдырады. Жаңа программаны жүктеу үшін міндетті
түрде алдымен «ата-ана процессінің» кӛшірмесін жасау керек, содан кейін
«бала-процесс» арнайы жүйелік шақыру кӛмегімен ӛзінің қолданушы жана-
масын ауыстыруы керек VAX/VMS ОЖ-сі тек екінші жағдайды қабылдай
алады . Ал WindowsNT екі нұсқаны да қабылдайды. Бірнеше процесстің
жұмысын ұйымдастыру үшін жаңа процесстің орындалмай қалуы
программаның болу мүмкіндігіне әкеліп соғады. Процесстің қолдаушы жа-
намасын ауыстсру мүмкіншілігі, оның жұмысы кезінде (жаңа программаны
орындау үшін жүктеу кезінде), бірінен кейін бірі орындалатын бірнеше әр
түрлі программаларға әкеліп соғады. «Ата-ана-процессі» ӛзінің орындалуын
«бала-процесстің» орындалуымен бір уақытта жалғастырады, немесе ӛзінің
барлық «балаларының» жұмысын аяқтауды күте алады.
Көп қолдануға болатын (многоразовые) операциялар.Кӛп қолдануға бо-
латын операциялар ОЖ-дегі процесстер санын ӛзгертпейді және ресурстарды
босатуға немесе бӛліп беруге байланысты болуы міндетті емес.
Процесстің жүктелуі. Әрі қарай орындау үшін бірнеше процесстердің
ішіндегі дайын күйде тұрған процесстің біреуін ОЖ таңдап алады. Таңдап
алған прцесс үшін, ОЖ оперативті жадыда ақпараттың бар болуын және
оның ары қарай жұмыс істеу қажеттіліктерін қамтамасыздандырады. Процесс
күйі орындалу кезінде ӛзгереді, яғни берілген процесс үшін регистрдің мәні
қалпына келеді және басқару процесстің команда санауышына сілтейтін ко-
мандасына беріледі. Жанаманы (контексте) қалпына келтіру үшін қажет де-
ректер операция түзілетін PCB процессінен алынады.
Процесстің тоқтатылуы. «Орындау» күйінде тұрған процесс жұмысы
қандай да бір үзілудің нәтижесінде тоқтатылады. Процессор команда са-
науышын автоматты түрде сақтайды және орындау процессі стектің бір не-
месе бірнеше регистрін сақтайды, одан кейін басқаруды берілген үзілуді
ӛңдейтін арнайы адреске береді. Осылайша үзілуді ӛңдеуге арналған
hardware жұмысы аяқталады. Кӛрсетілген адресте әдетте ОЖ-нің бір бӛлігі
ғана болады. Ол PCB-ғы процесстің жүйелік және регистрлік жанамасының
динамикалық бӛлігін сақтайды, процессті «дайындық» күйінде ауыстырады
64
және ол үзілуді ӛңдеуге кіріседі, яғни, үзілу кезінде пайда болатын белгілі бір
әрекеттерді орындауға кіріседі.
Процесстің қоршалып қалуы (блокирование). Жұмысты әрі қарай
жалғастыра алмаған кезде немесе есептеу жүйесіндегі кез-келген бір
оқиғаның пайда болуын күтпей әрекет жасаған кезде процесс қоршалып
қалады. Бұл жағдайдан шығу үшін ол арнайы жүйелік шақырудың кӛмегімен
ОЖ-ден кӛмек сұрайды. ОЖ жүйелік шақыруды ӛңдейді (енгізу-шығару опе-
рациясын реттейді, процесс кезінде процессті қосады, құрылғының босауын
және оқиғаның болуын күтеді, және т.б.) және РСВ-ға қажетінше процесс
жанамасының керек бӛлігін сақтайды, процессті «орындалу» күйінен «күту»
күйіне ауыстырады.
Процессті қоршалып қалудан құтқару (разблокирование). Жүйеде
қандай да бір оқиға болып қалғаннан кейін, ол оқиғаның қандай екенін нақты
анықтау керек. Содан кейін ОЖ оқиғаның «күту» күйінде беріген тұрғаны
бар ма екенін тексереді, егер бар болса оқиғаның пайда болуына байланысты
қажет әрекеттерді орындай отырып, «дайындық» күйіне ауыстырады (мыса-
лы, күтіп тұрған процесс кезегі үшін енгізу-шығару операциясын жібереді
және т.с.с.
Жанамаға қосылу (переключение).Осыған дейін біз процесстерде
болатын
операцияларды,
яғни
бір-біріне
тәуелсіз
операцияларды
қарастырдық. Шын мәнінде мультипрограммалық ОЖ қызметі, яғни әр түрлі
процесстерді орындайтын және де бірінен екіншісіне ауысатын процесстерді
процессор ауысуын қадағалайтын операция тізбектерінен тұрады.
Кейбір процесстерді процессор арқылы орындағанда құрылғыда енгізу-
шығару құрылғысынан операцияның соңын ескеретін берілулер байқалғанда
үзілулер түзіле бастайды. Процесс орындалып жатқанда тоқтату операциясы
ӛндіріледі. Әрі қарай ОЖ процессті қоршалып қалудан құтқарады және
жоспарды орындауда таңдалған тоқтап қалған немесе жаңа процессті жүктеу
іске асады. Нәтижесінде «орындау» күйінде тұрған енгізу-шығаруды аяқтау
туралы ақпаратты ӛңдейтін процесстер орын ауыстырады.
Процессордағы бір процесстен екіншісіне ауысу үшін орындаушы
процесстің жанамасын міндетті түрде сақтау керек және процессор ауысатын
процесс жанамасын қалпына келтіру керек. Мұндай процесстердің
сақтау/қалпына келтіру жұмысының қабілеттілігін кӛрсететін процедура
жанамасымен ауысу деп аталады.
Көпесептілік . Санашық бір уақытта тек бір ағынды орындайды. Бірақ
кӛпесептіліқ операциялық жүйеде пайдаланушыға бірнеше программаларды
пайдалануға мүмкіндік береді:
- бір қордың босағанын немесе ағынның орындалуы үзілгенше ағын
қолданылады;
- ағынның мәнмәтіні сақталады;
- ағынның мәнмәтіні жүктеледі
- орндалуды күткен ағындар бар болғанша бұл қайталау қайталанады.
Достарыңызбен бөлісу: |