Процесс. Процесс ұғымы 60 жылдан бастап, операциялық жүйе программасында пайда болды. Мынаны ескеруіміз керек: программа бұл – файлды жүктеу немесе оны дискке сақтау (мысал ретінде), ал процесс - осы әрекеттердің өту этаптары.
Процесстің жағдайы. Енді негізгі үш процесстік жағдайды қарастырамыз.
Сол уақытта орындалған орталық процессордың бөліну процесінің жұмысының орындалып жатқанын айқындайды.
Орталық процессорды қолданып әрекеттерді орналастырса, процесстің жұмысы орындалып болғанын айқындайды.
Жұмыстың орындалу барысында күтпеген жағдайдың орын алуы, процесстік жағдайдың блокталғанын айқындайды.
Процесстің жұмыс жағдайы.Процестің басқару жүйесінің орындалуы келесі қатармен жүргізіледі:
Процесстің құрылуы. Процесстің құрылуына РСВ басқару процессі, алғашқы ресурстық процестің шығуы және т.б
Процесстің жойылуы.Процестің жойылу барысында шығарылған ресурстар жүйеге енгізіліп, кез-келген тізім және кестелер өшіріліп қалады, ал басқару блогындағы процесс кеңейеді.
Процесстің тоқтатылуы.Тоқтату процесі жұмысы қандайда бір процесстің көмегімен іске асырылады.
Іске қосу процессінің өзгеруі. РСВ процестік модификациялық жағдайлардағы операцияны білдіреді. Бұдан басқа да блоктау, жіберу, іске қосу процестері қолданылады.
ОЖ қосымша модуьдері және Ядро.ОЖ структуризациясы оның барлық модуьдерінің екі топқа бөлінуіне ортақ болып келеді:
Ядро –ОЖ басты функцияларын шешуші модульдері.
ОЖ көмекші функцияларын шешуші модульдері.
Ядролық модульдер ОЖ мынадай базалық функцияларын орындайды: процесстерді басқару, жадыға сақтау, шығыс-кіріс құрылғыларын басқару және т.с.с. Ядро ОЖ жүрегінен тұрады онсыз ОЖ толығымен жұмыс істеу қабілетінен айырылады және де бірде бір өзінің функцияларын орындай алмайды.
Ядроның құрамына кіретін функциялар, ішкі-жүелік есептердің шешуші құрамды процестері, мынадай:
контекстерді ауыстыру.
беттердің жүктеу/выгрузка
үзілулерді өңдеу
06.02.12
Бұл функциялар қосымшаларға қол жетімді емес. Ядро функциясының басқа классы қосымшаға қолдау қызметін атқарады, және оларға атаулы қолданбалы программалық орта жасайды. Қосымшалар ядроға сұраныс жасай алады –жүйелік шақырулар –сол немесе басқа әрекеттердің орындалуы, мысалы бір файылдың оқылуы және ашылуы графикалық мәліметтерді дисплейға шығару, жүйелік уақытты алу т.б. қосымшамен шақырылатын функцияның ядросы, қолданбалы программалық интерфейстерді құрайды –АРІ (Application Programming Interfase) –әдістерді таңдау функциясы программисттің функционалды программалық компанентті қолдануға арналған жолы (программалар, модульдер, кітапханалар). АРІ маңызды абстракция болып келеді, функционалдықты «таза түрде» жазушы.
Windows – Win32 API арналған қолданбалы программалаудың интерфейсын қарастырамыз. Win32 API жүйелік шақырулардан бөлектетілген . Бұл әр түрлі нұсқаларда программаларды көшірмей-ақ жүйелік шақыруларды өзгертуге мүмкіндік береді. Сондықтан шақыру жүйелік болама түсініксіз (ядромен орындалады), әлде ол пайдаланушының кеңістігінде өңделеді. Win32 API-да 1000 аса шақырулар болады. Мұндай көлем UNIX пайдаланушының графикалық интерфейстері пайдаланушы режимінде қосылуымен байланысты, ал Windows ядроға орнатылған. Сондықтан Win32 API арналған басқару терезелері, тақырыптар, шрифттер т.б., көп шақырулар бар.
Win32 API шақырулары, стандартты POSIX шақыруларына ұқсауын қарастырамыз.
-CreatProcess (fork) –жаңа процесс құру.
-ExitProcess(exit) –процессті аяқтау.
-CreatFile(open) –файлды ашу.
-CloseHandle(close) –файлды жабу.
-ReadFile(read) –файлдағы мәліметтерді буферға оқиды.
-WritFile(write) –буфердағы мәліметтерді файлға жазады.
-CreatDirectory(mkdir) –жаңа каталог құрады.
-RemoveDirectory(rmdir) –каталогты жояды.
-SetCurrentDirectory(chdir) –жұмыс істейтін каталогты өзгертеді.
Win 32 Қолданбалы программа
Win32 API Қолданбалы программаның интерфейсі
Windows 3.x
Windows 95/98/Me
Windows NT4.0
Windows NT5.0
Win32s
Сурет.2.1. Win32 API Windows интерфейсі
Функциялар, ядро модульдерімен орындалатын ОЖ функциясы болып келеді, сондықтан олардың орындалу жылдамдығы жүйенің толығымен бар қабілетін анықтайды. Барлық ОЖ жұмыс істеу жылдамдығымен қамтамасыз ету үшін ядро модульдері және де олардың үлкен бөліктері әрқашан жедел есте сақтау жадысында болады, демек резидентті болады.
Ядро компютерлік жүйедегі барлық есептеуіш процестерді қозғаушы күші болып келеді, және ядроның құлауы барлық жүйенің құлауымен тең. Сондықтан ОЖ құрастырушылар ядро кодтарының қауіпсіздігіне ерекше көңіл бөледі, нәтижесінде процесс пен олардың отладка көп айларға созылуы мүмкін.
Кейде ядро арнайы форматтың кей программалық модульдері ретінде рәсімделеді, пайдаланушылық қосымша форматтардан ерекшеленеді.
Қалған ОЖ модульдері аса қажетті бірақ аз міндетті функцияларды орындайды. Мысалы, мұндай көмекші модульдерге мыналар кіреді:
Мәліметтерді архивтеу программасы.
Дискті дифрагменттеу.
Тексттік редакторды.
ОЖ көмекші модульдері кейде қосымша түрінде, кейде процедуралар кітапханасы түрінде рәсімделеді.
Сол себепті ОЖ кейбір компаненттері қарапайым қосымша ретінде рәсімделген, демек стандартты модульдердің берілген ОЖ форматында орындалу ретінде берілгендіктен, ОЖ мен қосымшалар арасына нақты шектеу қою өте күрделі де жиі болады.
Қандайда бір программа ОЖ бөлігі болама жоқпа екендігін, ОЖ қабілеттілігі шешім қабілдайды. Көп факторлардың ішінде осы шешімге әсер ете алатын, берілген ОЖ потенциялдық қолданушылардың программаға сұранысы көлемді болуы маңызды болып келеді. Кейбір программа берілген уақытта пайдаланушылық қосымша ретінде бола алады, ал содан кейін ОЖ бөлігі болады және керісінше болады. Осыған мысал ретінде Microsoft компаниясының Web-браузер пограммасының өзгеру статусы келеді, әлгі жеке қосымша ретінде бастапқыда Windows NT 4.0 және Windows 95/98 ОЖ бөлігі болды, ал бүгінгі күні сот шешімінде бұл браузер қайта тұрақты қосымшаға айналуына үлкен мүмкіндік бар.