Пайдаланылған әдебиеттер
1. А. Б. Медешова, Д. Ғ. Ғадуллаев Компьютер архитектурасы: Оқулық. – Алматы: ЖШС РПБК «Дәуір», 2011
2. В. Яворский, А. Әміров. Операциялық жүйелер: Оқу құралы. - Астана: Фолиант, 2008
3. О Сейқұлов. Есептеуіш жүйелер, желілер және телекоммуникациялар: Оқу құралы. – Шымкент: «Нұрлы Бейне», 2012
4. Гук М. Аппаратные средства IBM PC Әнциклопедия – спб.:«Издательство Питер», 2011
12-Дәріс
Тақырыбы: Үрдістерді басқару және ұйымдастыру.
Жоспар:
Үрдіс және ядро ұғымы
Үрдіс мән мәтінінің құрылымы
Үрдісті диспетчерлеу және уақыт үйлесімдіру
Сигналдар өңдеу жабдықтары
Жоғарыда айтылып кеткендей бір ОЖ-ге арналып жазылған программа басқа ОЖ-лер үшін де орындалуы үшін АРІ үйлесімділігін қолдану жеткіліксіз. Сонымен қатар оған «туған» ортасы өте қажет, ол: процесс құрылысы, жадыны басқару қралы, кез-келген жағдай үшін және қатені өңдеу құралы, ресурсты қорғау механизмі және файлға қатынаудың семантикасы. Бұл жерден ОЖ құрылысымен тығыз байланысқан бірнеше қолданбалы ортаның көмегі қарапайым емес екндігі көрінеді. Бұл тапсырма WindowsNT-де өте жоғарғы деңгейде орындалады, сонымен бірге Карнети-Меллона университеті құрастырушылары Mach ОЖ-ін құрастырғанда бір-бірінен тәжірибе алысты, яғни, олар өзінің UNIX клиент-серверін жүзеге асыру кезінде ОЖ-нің базалы механизмін әр түрлі ОЖ-нің АРІ серверлерінен бөліп алуы керек болды.
Әр бір операциялық жүйе кейбір мәліметтер мен жұмыс жасайды, олар басқару әдістері мен бірігіп олардың қасиетін сипаттайды.
Үрдіс – бұл барлық ОЖ-де болатын программа. Үрдіс – бұл қорларды меншіктеуге құқығы бар программа.
Үрдістерді басқару:
Орталық процессордың уақытын қолдану арқылы басқару.
Егізу буфері және аударыстыру арқылы басқару.
Бөлінетін қорлар арқылы басқару.
Үрдісті басқарудың негізгі мәселелері. Біріншіден – орталық санашықтың (ОС) уақытын қолдану арқылы басқару немесе бұл мәселені ОС жобалау деп атайды, яғни қандай уақытта қай есеп немесе қай үрдіс ОС басқарады (қандай үрдісте ОС жұмыс істейді).
Екіншіден - Енгізу буфері және аударыстыру арқылы басқару. Мысалы бірнеше адам, бір курс студенттері компьютердің алдында отыр және барлығы бір уақытта бір есепті үрдіс түрінде іске қосты делік. Жүйеде көп есеп пайда болады ( жүзден аса). Ал барлық есептеу жүйесі жүз есеппен мультипрограммалық режимде жұмыс істеу қабылдай алмайды, ол өте ауыр. Бұл жағдайда есепті енгізу буфері, яғни үрдістер буферде санашық арқылы өзінің өңделіп босатылуын күтетін үрдістер түзеледі. Осы буферде өңдеуді бастау үшін үрдістердің орындалу кезегін таңдау мәселесі туындайды. Бұл мәселе буфердің жоспарлануы болып табылады.
Енді жоспарлау аударыстыру есебін қарастырамыз. Санашық арқылы бірнеше үрдістер өңделеді және бізге нақты жедел жадыны басқада есептер үшін босату мәселесі туындайды. Бұл жағдайда өңделген есептердің кейбірін ішкі есте сақтау құрылғысына жіберу қажеттілігі туындайды. Қандай алгоритм арқылы бұл есептерді жібере аламыз? Жіберудің бағыт- бағдары қандай болады? Мысалы әр жұп есептерді жіберуге болады. Үрдістерді жіберуді ұйымдастырудың қайсысы тиімді – бұл негізгі мәселе.
Үшіншіден – бөлінетін қорларды басқару. Қорлар жиынына қатынау белгілі бір уақытта әртүрлі үрдістер атынан ұйымдастырылады. Бұл баспа құрылғысының коллизиясы сияқты. Функциялар көбінде ОЖ- нің қасиеттерін анықтайды, бұл функция үрдістердің қарым – қатынасын ұйымдастыруды және ортақ қорларды қолдануды қастамассыз етеді. Мысалдағы баспа құрылғысының мәселесі тез шешіледі, ал егер екі программаның жедел жадыда ортақ фрагменті болса онда бөлінетін қорларды басқару – күрделі есеп.
ОЖ-нің микроядролық архитектурасының негізгі жағдайы (күйі). Микроядролық архитектура жоғарыда қарастырылған ОЖ-ні құрудың классикалық әдісіне альтернатива (балама) болады. Микроядролық архитектура, процесс түрінде жүзеге асқан қолданушылар қосымшаларымен тең, ОЖ-нің құрамына кіретін жүйелік сервистер және микроядро арасындағы ОЖ-нің функцияларын таратады (бөледі).
Сол сияқты, ОЖ-нің барлық машинадан тәуелді модульдері микроядроға енгізіледі. Микроядроның құрамына кірмей қалған ядроның жоғарғы деңгейдегі функциялары және модульдері, қолданушылар режимінде жұмыс істейтін қарапайым қосымшалар түрінде хатталады. Төменгі суреттен монолиттік ядромен (22.1-а сурет) және микроядролық (22.1-б сурет) архитектурамен ОЖ-ні құрудағы негізгі айырмашылықтарды көруге болады.
22.1- сурет. Монолиттік ядромен және микроядролық архитектурамен операциялық жүйені құру
Қолданушылар режимінде жұмыс істейтін ресурстар менеджерлерінің ОЖ-нің дәстүрлі утилиттерінен және ОЖ-нің жүйелік өңдеу программаларынан принципті айырмашылығы бар. Бірақ микроядролық архитектурада барлық программалық компоненттер қосымшалар түрінде хаттамаланған.
Утилиттер және өңдеуші программалар негізінен қолданушылармен шақырылады. Бір қосымшаға, басқа қосымшаның функцияларының орындалуын қажет болатын жағдай өте сирек, сондықтан классикалық архитектурасы бар ОЖ-де олардың көмегімен бір қосымша басқаның (немесе басқа қосымшаның) функциясын шақыруға мүмкіншілігі бар механизмдер жоқ. Егер қарапайым қосымша формасында ОЖ-нің бөлігі хаттамаланатын болса, ол жағдайда принципиальды басқа оқиға туындайды.
Микроядролық архитектура іске асқанда бір процесстің процедураларын екіншісінен шақырудың ыңғайлы және тиімділігінің ОЖ-де болуын қамтамасыз ететіні анық. Осындай механизмдерді қолдлау ОЖ-нің микроядросына қойылған басты тапсырмалардың біреуі.
Mach ядросы жадыны басқаруды, енгізу-шығару функцияларымен және коммуникация процесстерімен қамтамасыз етеді. Mach ядросын құрудың идеясы, жүйенің жұмыс істеуін қажетті механизмдермен қамтамасыз етуден тұрады, бірақ бұл механизмдерді пайдалану стратегиясы қолданушылар процессі деңгейінде іске асады. Ядро бес бас абстракцияларды басқарады:
процесстермен;
жіптермен;
жады объектерімен;
порттармен;
хабарлармен.
Mach процессі - бұл ресурстарды үйлестіретін базалық бірлік, оның деректерден және программа мәтінінен тұратын кеңістік адресі бар. Mach-та жіп орындау бірлігі болып табылады. Оның командалар санауышы (счетчик) және онымен байланысқан регистрлер жиыны бар. Әрбір жіп бір процесстің бөлігі болып келеді. Mach-тағы процесс аралық қатынас хабар беруге негізделген.
Windows NT құрылымы екі қосынды түрінде көрсетілуі мүмкін: қолданушы режимінде жұмыс істейтін ОЖ-нің бөлігі және ядро режиміндегі ОЖ-нің бөлігі.
Достарыңызбен бөлісу: |