Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Дәрістік сабақ конспектілері. 3 страница
2. Жергілікті компьютерде қ орғ ау ережесін орнататын қ ауіпсіздік мониторы, ол ОЖ ресурстарын қ орғ айды, қ орғ ауды орындайды жә не орындалатын объекттерді тіркейді. 3. Процесстердің тоқ талуын жә не қ айтадан басталуын, қ ұ рылуын жә не аяқ талуын, сонымен қ атар олар туралы ақ параттарды сақ тайтын процесстер менеджері; 4. Виртуальды жады менеджері, яғ ни, ө зіне келесі компоненттерді енгізетін енгізу-шығ ару ішкі жү йесі: - енгізу-шығ ару менеджері; - файлдық жү йелер; - желілік редиректор; - NT қ ұ рылғ ысының драйвері; - Кэш менеджері. Ө з кезінде орындалатын блім №1 микроядроның тө менгі дең гейінің қ ызметіне негізделеді. Микроядро функцияларына тө мендегілер кіреді: - процесстерді жоспарлау; - тө тенше оқ иғ аларды жә не ү зуді ө ң деу; - кө п процессорлы жү йелер ү шін процессорларды синхронизациялау; - жаң ылысудан кейін жү йені қ алпына келтіру. Микроядро жә ң ілдікпен пайдаланушы режимінде жұ мыс істейді жә не ешқ ашан жадыдан кетпейді. Оғ ан тек ү зі арқ ылы қ атынау мү мкін. Қ орғ алғ ан Windows NT ішкі жү йелері қ олданушылар режимінде жұ мыс істейді жә не Windows NT ОЖ жү ктелген кезде пайда болады. Қ орғ алғ ан ішкі жү йелердің арасынан қ оршау ішкі жү йесі деп аталатын ішкі классты ерекшелеуге болады. Қ оршау ішкі жү йесі ОЖ-нің (АРІ) қ осымшаларының интерфейсін орындайды. Ішкі жү йенің басқ а интегралдық ішкі жү йелер деп аталатын тү рлері, ОЖ-лер ү шін қ ажетті функцияларды орындайды. Мысалы, Windows NT-дің қ ауіпсіздік жү йесінің ү лкен бө лігі интегралдық ішкі жү йе тү рінде орындалғ ан. Сонымен, желілік серверлерде интегралдық ішкі жү йе сияқ ты орындалғ ан. Windows NT қ орғ алғ ан ішкі жү йелерді: - бірнеше программалық интерфейсті (АРІ), мү мкіншілігінше бұ л жағ дайда базалық программалық кодты (NT executive) кү рделендірмей қ амтамасыз ету; - базалық ОЖ-ні қ олдайтын АРІ-де ө згеруден немесе кең ейтілуден оқ шаулау; - барлық АРІ-ге қ ажет болатын глобальды деректердің бө лігін біріктіру жә не сонымен қ атар ә р жеке АРІ-ді қ олданылатын деректерді басқ а АРІ-дің деректерінен бө лу; - ә р АРІ-дің қ оршауын қ осымшалардан жә не АРІ-дің қ оршауынан қ орғ ау, сол сияқ ты базалық ОЖ-ні ә р тү рлі қ оршаулардан қ орғ ау; - ОЖ-ге келешекте жаң а АРІ-дің арасында кең еюге рұ қ сат беру ү шін қ олданады. Ең бастысы микроядро NT ОЖ-нің тасмалданатын негізгі бө лігін қ олдау қ ұ ралы – қ олданушылар ортасының жиыны ү шін қ ызмет етеді. ОЖ-нің микроядролық архитектурасының артық шылығ ы жә не кемшіліктері. Микроядролардың концепциясына негізделген ОЖ кө бінесе қ азіргі заманғ ы ОЖ-ге қ ойылатын талаптпрды қ анағ аттандырады. Тасымалдануғ а, кең ейтілуге, сенімділікке ие жә не қ осымшаларды ү йлестіруді қ олдау ү шін жақ сы шарттар қ ұ рады. Бірақ, ө кінішке орай, ОЖ-нің барлық бұ л артық шылығ ы ө німділікке зиан болып табылады. Бұ рын айтылғ андай микроядролық ОЖ-нің микроядросындағ ы барлық машиналарғ а тә уелді кодтарына бө лектік тә н. Соның салдарынан жү йені жаң а ақ параттық платформағ а тасымалдау ү шін минимальды мө лшердегі ө згеріс қ ажет, еске сала кететіні олардың бә рі логикалық топталғ ан. ОЖ-нің микроядромен бұ л ерекшеліктері олардың анық артық шылығ ы болып табылады. ОЖ-нің микроядро архитектурасының ерекшеліктері басқ а ОЖ-мен салыстырғ анда олардың жоғ арғ ы дең гейде кең ейтілуін қ амтамасыз етеді. Кезекті ішкі жү йенің қ осылуы тек жаң а қ осымшалардың жасалуын талап етеді жә не микроядроның тұ тастығ ын қ озғ амайды. Микроядролық қ ұ рылым емес тек арттыруды ғ ана қ ажет ететі, бірақ ОЖ-нің компоненттерін қ ысқ артуғ а рұ қ сат етеді. Микроядролық ә дістемеде конфигурациялау ешқ андай проблемманы шақ ырмайды жә не ерекше шараны талап етпейді. Жү йенің бастапқ ы конфигурациясының баптауымен файлды ө згерту немесе енді қ ажет емес серверлерді жұ мыс істеу барысында қ осымшаларды тоқ тату ү шін қ арапайым қ ұ ралдармен тоқ тату жеткілікті. Микроядролық модельді пайдалану ОЖ-нің сенімділігін арттырады. Ә рбір сервер ө зінің жеке жады аймағ ында жеке процесс тү рінде орындалады жә не ол сонымен ОЖ-нің басқ а серверлерінен қ ұ ралғ ан. Ал мұ ндай жағ дайлар ядроның барлық модельдерінде бір-біріне ә сер етеді, ол дә стү рлі ОЖде байқ алмайды. Егер жеке сервер кү йресе, онда ол тоқ таусыз қ айта жіберілуі немесе ОЖ-нің басқ а серверлерін зақ ымдауы мү мкін. Басқ а ОЖ-нің сенімділігінің потенциалының ұ лғ айуының кө зі – классикалық ядромен салыстырғ анда микроядро кодының кішірейген кө лемі болып табылады. Бұ л программалауда қ атенің пайда болуының ық тималдығ ын тө мендетеді. Микроядромен модель ү летірілген есептерді қ олдау ү шін жақ сы сә йкес келеді, себебі желіге ұ қ сас клиенттер жә не серверлер хабарларды айырбастау жолымен ө зара ә рекеттесетін механизмдерді пайдаланады. ОЖ-нің микроядролық серверлері бір компьютерде, сол сияқ ты ә р тү рлі компьютерлерде жұ мыс істей алады. Қ осымшадан хабар алғ ан кезде микроядро оны ө здігінен ө ң дейді жә не жергілікті серверге береді немесе желі арқ ылы басқ а компьютерде жұ мыс істеп тұ рғ ан микроядроғ а жібереді. Ү лестрілген ө ң деуге ө ту ОЖ жұ мысына минимальды ө згерістерді талап етеді – жай жергілікті кө лік желілікке ауыстырылады. ОЖ-нің микроядролық архитектурамен бұ рын қ арастырылғ ан қ асиеттерінің бә рі оны жасаушылардың қ олдануы оның артық шылығ ының куә сі. Бірақ, бұ рын айтылғ андай, бұ л сапаның бә рі ОЖ-нің ө німділігін кеміту арқ асында пайда болады. Іс мынада, ОЖ-ні классикалық тү рде ұ йымдастырғ анда жү йелік шақ ыру екі айырып-қ осқ ышпен сү йемелденеді, ол микроядролық ұ йымдастыруда айырып-қ осқ ышпен сү йемелденеді. Сонымен микроядро негізіндегі ОЖ ә р тү рлі жағ дайдағ ы тең шарттармен ү немі классикалық ядросы бар ОЖ-ден ө німділігі кем болады. Сол себепті микроядролық ә діс оғ ан алдын ала айтылғ андай кең таралғ ан жоқ. Барлық ОЖ-ні қ ұ руда қ арастырылғ ан ә дістердің ә р қ айсысының ө здерінің артық шылық тары жә не кемшіліктері бар. Кө п жағ дайларда қ азіргі заманғ ы ОЖ-лер осы ә дістердің ә р тү рлі комбинацияларын пайдаланады. Мысалы, Linux ОЖ ядросы микроядролық архитектураның элементтері бар монолиттік жү йені кө рсетеді. Ядроның компиляциясы кезінде модуль деп аталатын ядроның ө те кө п компоненттерінің динамикалық жү ктелуін жә не тү сірілуін шешуге болады. Модуль жү ктелген кезде оның коды жү йе дең гейінде жү ктеледі жә не ядроның басқ а бө ліктерімен байланысады. Модульдің ішінде кез келген ядромен экспортталғ ан функциялардың пайдаланылуы мү мкін. Негізгі ә дебиет 1 [14–37, 77–85], 9 [21-32]. Қ осымша ә дебиет 15 [114-157], 19 [174–176] Баылау сұ рақ тары 1. Mach-тағ ы процесс аралық ө зара ә рекет. 2. Микроядролық архитектураның негізгі ережесі. 3. Ү ш қ абатты есептеу жү йесінің қ ұ рылымы. 4. Клиент-сервер технологиясының артық шылығ ы. 5. ОЖ-нің серверлерінің негізгі тағ айындалуы. 6. ОЖ-ні монолитті ядромен жә не микрядролық архитектурамен жү зеге асырудың негізгі айырмашылық тары. 7. Қ осымшалардың ОЖ-нің функцияларына қ атынау механизмін ұ йымдастыру. 8. ОЖ-нің ядросы жә не қ осымша модульдері.
3 дә ріс. Операциялық жү йелердің ү йлесімділіг.і Ү рдісті басқ ару жә не ұ йымдастыру. Ү рдіс жә не ядро ү ғ ымы. Ү рдістің виртуальдық мекен-жайлық кең істігін сегментациялау. Ү рдіс мә нмә тінінің қ ұ рылымы. Ү йлесімдік тү рлері Кез-келген ОЖ-нің нақ ты архитектуралық жә не функционалдық ерекшеліктері жү йелік программисттерге қ атысты болуы керек жә не ол қ арапайым қ олданушығ а таныс емес болуы мү мкін. Кейбір идеялар (мысалы, объектілі-бағ ытталғ ан кө зқ арас) қ ұ растырушыларғ а ғ ана белгілі жә не соң ғ ы қ олданушығ а кері ә серін тигізеді. Кө птеген қ олданбалы орта концепциясы қ олданушының кө птен кү ткен мү мкіншілігін ө зінің ОЖ программасында, басқ а ОЖ жә не процессор ү шін жазылғ ан программада орындайды. Басқ а ОЖ ү шін жазылғ ан ОЖ қ осымшасы орындайтын мү мкіншілікті сипаттауы, яғ ни, ОЖ қ асиеті ү йлесімділік деп аталады. Ү йлесімділіктің бір-біріне ұ қ самайтын екі принципі бар, оларды шатастырмау керек: екілік дең гейдегі ү йлесімділік жә не бастапқ ы мә тін дең гейіндегі ү йлесімділік. Екілік тү ріндегі кодтар жә не деректері бар қ осымша файлдар компьютерде орындаушы файлдар тү рінде сақ талады. Орындалушы программаны бір ОЖ ортасында жұ мыс істейтін жә не оны басқ а ОЖ ортасында орындағ анда іске қ осқ ан жағ дайда орындалуын екілік ү йлесімділік деп атаймыз. Алдың ғ ы мә тін дең гейіндегі ү йлесімділік, компьютерді программалармен қ амтамасыздандыру қ ұ рамында сә йкесінше компилятордың бар болуын талап етеді, яғ ни, ол берілген сө йлемнің орындалуын жә не де жү йелік шақ ыру мен кітапхана дең гейде ү йлесімділігін жорамалдайды. Ол ү шін жаң а орындалатын модулдағ ы алдың ғ ы мә тін программасын қ айтадан компиляция жасауғ а тура келеді. Осылайша, алғ ашқ ы мә тін дең гейінде ү йлесімділік ө кімде болатын бастапқ ы мә тін сө йлемін қ ұ растырушы ү шін маң ызы оте зор. Соң ғ ы практикалық сабақ ты қ олданушылар тек осы екілік орындалатын кодта, ә р тү рлі ОЖ ортасында жә не ә р тү рлі компьютерде арнайы білімсіз программа ө німін қ олдана алады. Ө зінің жаң а машинасында, мысалы, WINDOWS NT-нің басқ аруымен жұ мыс істейтін машинада ө зі ү йренген кезінде сатып алғ ан MS-DOS-қ а арналғ ан программалар пакеттерін еш ө згеріссіз іске қ осудың маң ызы зор. Кө п қ олданбалы орта ОЖ қ осымшалары мен бастапқ ы мә тін дең гейінде екілік дең гейде басқ а ОЖ жә не процессор ү шін жазылғ ан деректер ү йлесімділігін қ амтамасыздандырады. Екілік немесе бастапқ ы мә тін ү йлесімділік қ асиеті бар ОЖ кө птеген факторларғ а байланысты болады. Олардың ең тә уір, негізгісі – ОЖ жұ мыс істейтін процессор архитектурасы. Екілік ү йлесімділікке жету ү шін тө мендегі шарттар орындалуы керек: - ОЖ деректерін қ ұ птайтын, қ олдайдын, қ ұ рамында программа қ осымшалары бар АРІ функциясының шақ ырылуы; - Орындаушы файл қ осымшаларының ішкі қ ұ рылысы ОЖ деректерін орындайтын файл қ ұ рылысымен сә йкес болуы керек; Ажырата алатын (различающиеся) немесе танитын архитектурасы бар процессор орындауғ а арналғ ан ОЖ-дің екілік ү йлесімділіктеріне жету қ иынғ а соғ ады. Жоғ арыда айтылғ ан шарттарды орындаумен қ атар міндетті тү рде екілік кодтың эмуляциясын ұ йымдастыру керек. Компьютер басында ө зіне тү сініксіз болғ ан машина инструкциясын тү сініп, талдауы ү шін машинағ а «эмулятор» атты арнайы программалық қ амтама орнатылуы керек. Эмулятордың тағ айындалуы–процессордың ә рбір екілік инструкциясын кезекпен таң дауында болып табылады, мысалы, Intel қ андай ә рекетті тапсыратынын анық тау ү шін программалық ә діспен оның кодын табады, ал содан кейін процессордың инструкциясында жазылғ ан ішкі программа эквивалентін орындайды, мысал ретінде Motorola-ны айтуғ а болады. Жоғ арыда айтылғ ан жағ дайдан шығ удың бірнеше тү рі, яғ ни, тиімді тү рлері бар – ол қ олданбалы программа ортасын пайдалану. Солардың бірі - ө зінің қ осымша программасын қ амтамасыз ететін ОЖ АРІ қ олданбалы программалау функция жиын интерфейсі болып табылады. Басқ а, бө тен программаның орындалу уақ ытын қ ысқ арту ү шін қ олданбалы орта кітапхана функциясына кө ң іл аударады. Осы ә рекеттің тиімділігі кө птеген қ азіргі программаларды графикалық интерфейстің басқ аруында (GUL), мысалы, Windows, Unix, сонымен бірге қ осымша программа ереже бойынша аз ғ ана уақ ытын бірнеше қ ажетті ә рекеттердің орындалуына жұ мсайды. Терезелерді басқ ару ү шін жә не т.б. GUL-ғ а байланысты ә рекеттерді орындау ү шін олар GUL кітапханасын шақ ыруғ а ү здіксіз іске асырады. Осы ерекшелік қ олданбалы ортаның уақ ыт шығ ынын толтырады. Дұ рыс жоспарланғ ан программа ортасының қ ұ рамында кітапхана, ішкі GUL кітапханасы болады, бірақ ол орнатылғ ан ОЖ-нің «ө зінің» кодында жазылғ ан. Осылайша, басқ а ОЖ-де АРІ кө мегімен программа жылдам орындалады. Бір ғ ана командамен орындалатын бұ л жағ дайды эмулирлеу процессінен ажыратуды трансляция деп атайды. Бір ғ ана ОЖ-ге арналып жазылғ ан программа басқ а ОЖ ү шін де орындалу керек болса АРІ ү йлесімділігімен қ амтамасыздандыру жеткіліксіз. Ә р тү рлі ОЖ негізіне арналғ ан концепция бір-біріне қ айшы келуі мү мкін. Мысалы, бір ОЖ қ амтамасында енгізу-шығ ару қ ұ рылғ ысын басқ аруғ а рұ қ сат етілсе, ал басқ а ә рекеттерде ОЖ-нің прерогативі болып табылады. Ө йткені, ә рбір ОЖ-нің жеке ө зінің қ орын қ орғ ау механизмі бар, яғ ни, олар: кез келген жағ дайда қ ателерді ө ң деу алгоритмі, процесстің ерекше қ ұ рылымы жә не жадыны басқ ару схемасы, ө зінің файлғ а семантикалық қ атынасы жә не қ олданушының графикалық интерфейсі. Осы айырмашылық тардың бә рі ОЖ жұ мыс істейтін аппаратты платформа спецификасымен, олардың жү зеге асырылу ерекшеліктерімен немесе жү йе қ ұ растырушының ендірілуімен анық талады. Ү йлесімділікті қ амтамасыздандыру ү шін бір ғ ана ОЖ ү шін компьютер қ ұ рылғ ыларын, қ орларын басқ арудың бірнеше ә дістерін міндетті тү рде қ арамақ айшылық тумайтындай ұ йымдастыру керек. Ү йлесімділікті жү зеге асыру ә дістері Қ азіргі кезде қ осымша программалық қ амтама кейбір ОЖ қ олданушыларына «бө тен» программаларды іске қ осуына мү мкіндік береді (мысалы, MaCOS жә не UNIX, DOS жә не Windows ү шін программаларды орындауғ а мү мкіндік береді). Бірақ қ азіргі ОЖ-де «бө тен» программаларды орындауғ а арналғ ан қ ұ ралдар жү йенің стандартты бө лігіне айналып келеді. ОЖ-ні таң дау қ олданбалы программаны таң дауды кө п шектемейді. Бірақ, MaCOS, Windows жә не UNIX ү шін қ олданушы интерфейс программасымен жұ мыс істегенде экранда біраз қ иыншылық тармен кү ресуге тура келеді, бірақ ОЖ ә р тү рлі қ олданбалы ортасы тышқ ан немесе мә зір (меню) сияқ ты стандартты тү рге айналады. Ә р тү рлі қ олданбалы ортаны жү зеге асыру кезінде қ ұ растырушылар қ арама қ айшылық талаптарымен қ ақ тығ ысады. Бір жағ ынан ә рбір қ олданбалы ортаның міндетті программаны мү мкіншілігіне қ арай орындауы, яғ ни, ол «ө зінің» туғ ан ОЖ-де орындалса. Бірақ бұ л программалардың талап ету дә режесінің ү лкендігінен берілген ОЖ қ ұ рылысында қ айшылық пайда болады. Арнайы қ ұ рылғ ы драйверлері қ ауіпсіздендіру талабына ә руақ ытта жауап бере бермейді, жадыны басқ ару схемасы мен терезелі жү йе арасында қ айшылық пайда болуы мү мкін. Бірақ, ең ү лкен дең гейдегі проблема–ө німділік, яғ ни, қ олданбалы орта программаны болғ анша жылдамдық пен орындау керек. Бұ л талапты кө п қ оданылып жү рген ерте эмулирленген жү йе қ анағ аттандыра алмайды. «Бө тен» программаларды орынауда қ олданбалы орта жылдамдық ты қ ысқ арту ү шін кітапхана дең гейіндегі программағ а ұ қ сас қ олданылады. ОЖ-ң кө пдең гейлі стандартты дең гейі бірнеше, кө птеген қ олданбалы ортаны жү зеге асыру негізгі нұ сқ алардың (варианттардың) бірі болып табылады (2-ші суретті қ ара). Операциялық жү йе ОЖ1 ө зінің «туғ ан» файлдарынан (қ осымшаларынан) басқ а ОЖ2 жә не ОЖ3-ті қ олдайды. Ол ү шін оның қ ұ рамында арнайы файлдар (қ осымшалар) болуы керек, ол – қ олданбалы программалық орта, яғ ни, ол ө зінің «туғ ан» АРІ ОЖ1 операциялық жү йе интерфейсінде «бө тен» АРІ ОЖ2 жә не АРІ ОЖ3 операциялық жү йелері интерфейстерін кө рсетеді. Мысалы, мынадай жағ дайларда, егер ОЖ2 сапасында UNIX операциялық жү йесін шығ арса, ал UNIX-те О-OS/2 сапасында жү йелік шақ ыруды орындайтын fork() процессінің қ ұ рылуына UNIX қ осымша файлдардың программа ортасы DosExesPgm() жү йелік шақ ырылуымен бірге OS/2 операциялық жү йе қ атарына кө ң іл аударуы керек еді.
2-сурет. Қ олданбалы программа ортасы кө мегімен жү йелерді шақ ыру (трансляциялау) кө рінісі.
Мұ ндай жү зеге асырулар кезіндегі қ иыншылық тар бір ОЖ-де қ ұ рылғ ан АРІ-ң сә йкесінше басқ а (егер ол бар болса) ОЖ функциясынан айырмашылығ ының ә серінен туады. Мысалы, OS/2 DosExesPgm()-де функция қ ұ рылу процессі UNIX-гі fork()-те функция қ ұ рылу процессімен толығ ымен сай келсе, онда оны былай ө згерту керек, ол ата-аналық процесстегі мекен-жай (адрестік) кең істікті «процесс-кейінгі буын (потомка)» кең істігіне кө шіретін мү мкіншілігін қ олдағ ан жағ дайда бұ л функциялардың қ алыпты жағ дайы «процесс-кейінгі буын (потомка)» жадысын жаң а орындаушы файл деректері негізінде ө згертеді. Кө птеген қ олданбалы ортаны жү зеге асыудың басқ а нұ сқ алары ОЖ-де бірнеше бірдең гейде қ ұ қ ығ ы бар қ олданбалы программалық интерфейсінің бар екендігін ескертеді. Оғ ан ядро жү йесі кең істігіндегі барлық АРІ ОЖ1, АРІ ОЖ2 жә не АРІ ОЖ3 операциялық жү йенің қ олданбалы программалық интерфейске орналасуы арқ ылы жетуге болады. Бұ л нұ сқ ада АРІ функция ө зінен тө мен жатқ ан дең гейдегі ОЖ функциясынан сұ райды (обращаются), ол жалпы жағ дайда ү ш ү йлеспейтін қ олданбалы ортаны қ амту керек. Ә р тү рлі ОЖ-де жү йелік уақ ытты басқ ару ә р тү рлі болуына қ арамастан кү ннің ә р тү рлі уақ ыт форматы, жекеменшік алгоритмі негізінде процессор уақ ыты бө лінеді жә не т.б. қ олданбалы программа интерфейсі функциясы ә рбір сә йкесінше ОЖ специфика есебінен жү зеге асады. Егер, кейбір функциялардың ә ртү рлі интерфейстері аналогты тағ айындалғ ан болса да ә рбір ОЖ ү шін ө зінің қ олданбалы интерфейсі толығ ымен жү зеге асырыла береді. АРІ-ң ұ сқ аларын таң дау ядроғ а жіберілетін сә йкесінше процесстің мінездемесін ұ қ састық негізінде іске асады. Микроядроның концепциясын қ олданатын кө птеген қ лданбалы ортаны қ ұ ру ә дісі де бар. Бұ л жағ дайда барлық қ олданбалы орта ү шін ОЖ-нің базалы, жалпы механизмін білу ө те қ ажет. Микроядролық архитектурағ а сә йкес ОЖ-нің барлық функциялары микроядро жә не қ олданушының серверлі режимі арқ ылы жү зеге асады. Ә р қ олданбалы орта қ олданушының жеке сервер ретінде де безендірілетінін жә не базалық механизмдерді қ оспайтынын естен шығ армау қ ажет. АРІ пайдалануымен бірге, орындалушы файлдар (қ осымшалар) микроядро арқ ылы қ олданбалы ортадағ ы жү йелік шақ ырудан сұ райды. Қ олданбалы орта сұ ранысты ө ң дейді, қ олданбалы ортада сұ раныстың орындалуы кезінде ОЖ-нің базалық механизміне сұ раныс жасауғ а тура келеді. Кө птеген қ олданбалы ортаны қ ұ растыру жағ дайында микроядролық архитектураның барлық артық шылығ ы мен кемшіліктері бар, олар: -микроядролық ОЖ-нің кең таралуының арқ асында қ олданбалы ортаны қ осу немесе алып тастау; -қ оданбалы ортаның біреуі істен шығ ып қ алса қ алғ андары жұ мыс істеп тұ ра береді, яғ ни, сенімді жә не стабильді; -микроядролық ОЖ-нің тө менгі ө німділігі қ олданбалы ортаның жұ мыс істеу жылдамдығ ына ә сер етеді, яғ ни файлдардың жылдам орындалуына; Ә р тү рлі ОЖ-нің (орындаушы файлдарының) қ осымшаларының орындалуы ү шін бір ОЖ-де бірнеше қ лданбалы ортаның қ ұ рылуы программаның бір ғ ана версиясының болуын жә не оны ОЖ-лер арасында ауысуына мү мкіндік береді. Бірнеше қ олданбалы орта берілген ОЖ-нің қ осымшаларымен бірге екілік дең гейде ү йлесімдігін басқ а ОЖ ү шін жазылуын қ амтамасыз етеді. Нә тижесінде қ олданушылар ОЖ-лерді таң дауғ а ү лкен мү мкіндікке жетеді жә не де сапалы программалық қ амтамасыздандыруғ а жең іл жол ашады. Жоғ арыда айтылып кеткендей бір ОЖ-ге арналып жазылғ ан программа басқ а ОЖ-лер ү шін де орындалуы ү шін АРІ ү йлесімділігін қ олдану жеткіліксіз. Сонымен қ атар оғ ан «туғ ан» ортасы ө те қ ажет, ол: процесс қ ұ рылысы, жадыны басқ ару қ ралы, кез-келген жағ дай ү шін жә не қ атені ө ң деу қ ұ ралы, ресурсты қ орғ ау механизмі жә не файлғ а қ атынаудың семантикасы. Бұ л жерден ОЖ қ ұ рылысымен тығ ыз байланысқ ан бірнеше қ олданбалы ортаның кө мегі қ арапайым емес екндігі кө рінеді. Бұ л тапсырма WindowsNT-де ө те жоғ арғ ы дең гейде орындалады, сонымен бірге КарнетиМеллона университеті қ ұ растырушылары Mach ОЖ-ін қ ұ растырғ анда бір-бірінен тә жірибе алысты, яғ ни, олар ө зінің UNIX клиент-серверін жү зеге асыру кезінде ОЖ-нің базалы механизмін ә р тү рлі ОЖнің АРІ серверлерінен бө ліп алуы керек болды. Ә р бір операциялық жү йе кейбір мә ліметтер мен жұ мыс жасайды, олар басқ ару ә дістері мен бірігіп олардың қ асиетін сипаттайды. Ү рдіс – бұ л барлық ОЖ-де болатын программа. Ү рдіс – бұ л қ орларды меншіктеуге қ ұ қ ығ ы бар программа. Ү рдістерді басқ ару: 1. Орталық процессордың уақ ытын қ олдану арқ ылы басқ ару. 2. Егізу буфері жә не аударыстыру арқ ылы басқ ару. 3. Бө лінетін қ орлар арқ ылы басқ ару. Ү рдісті басқ арудың негізгі мә селелері. Біріншіден – орталық санашық тың (ОС) уақ ытын қ олдану арқ ылы басқ ару немесе бұ л мә селені ОС жобалау деп атайды, яғ ни қ андай уақ ытта қ ай есеп немесе қ ай ү рдіс ОС басқ арады (қ андай ү рдісте ОС жұ мыс істейді). Екіншіден - Енгізу буфері жә не аударыстыру арқ ылы басқ ару. Мысалы бірнеше адам, бір курс студенттері компьютердің алдында отыр жә не барлығ ы бір уақ ытта бір есепті ү рдіс тү рінде іске қ осты делік. Жү йеде кө п есеп пайда болады (жү зден аса). Ал барлық есептеу жү йесі жү з есеппен мультипрограммалық режимде жұ мыс істеу қ абылдай алмайды, ол ө те ауыр. Бұ л жағ дайда есепті енгізу буфері, яғ ни ү рдістер буферде санашық арқ ылы ө зінің ө ң деліп босатылуын кү тетін ү рдістер тү зеледі. Осы буферде ө ң деуді бастау ү шін ү рдістердің орындалу кезегін таң дау мә селесі туындайды. Бұ л мә селе буфердің жоспарлануы болып табылады. Енді жоспарлау аударыстыру есебін қ арастырамыз. Санашық арқ ылы бірнеше ү рдістер ө ң деледі жә не бізге нақ ты жедел жадыны басқ ада есептер ү шін босату мә селесі туындайды. Бұ л жағ дайда ө ң делген есептердің кейбірін ішкі есте сақ тау қ ұ рылғ ысына жіберу қ ажеттілігі туындайды. Қ андай алгоритм арқ ылы бұ л есептерді жібере аламыз? Жіберудің бағ ыт- бағ дары қ андай болады? Мысалы ә р жұ п есептерді жіберуге болады. Ү рдістерді жіберуді ұ йымдастырудың қ айсысы тиімді – бұ л негізгі мә селе. Ү шіншіден – бө лінетін қ орларды басқ ару. Қ орлар жиынына қ атынау белгілі бір уақ ытта ә ртү рлі ү рдістер атынан ұ йымдастырылады. Бұ л баспа қ ұ рылғ ысының коллизиясы сияқ ты. Функциялар кө бінде ОЖ- нің қ асиеттерін анық тайды, бұ л функция ү рдістердің қ арым – қ атынасын ұ йымдастыруды жә не ортақ қ орларды қ олдануды қ астамассыз етеді. Мысалдағ ы баспа қ ұ рылғ ысының мә селесі тез шешіледі, ал егер екі программаның жедел жадыда ортақ фрагменті болса онда бө лінетін қ орларды басқ ару – кү рделі есеп.
|