Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Дәрістік сабақ конспектілері. 4 страница






Енді ОЖ қ ұ рылымын қ арастырайық. Тә жірибе жү зінде кез- келген ОЖ ядро ұ ғ ымына ие. ОЖ ядросы – оның резидентті бө лігі болып табылады, ал жіберу ү рдісіне қ атыспайды (ү немі жедел жадыда болады) жә не ОЖ режимінде жұ мыс жасайды немесе супервизор режимінде. ОЖ- де негізінен ядро қ ұ рамына басқ арудың базалық қ ұ ралы енгізілген жә не бірнеше физикалық қ ұ ралдарды басқ аруды қ амтамассыз ететін программалар жиынтығ ы енуі мү мкін. Ядроның негізгі қ ызметіне кө бінесе ү зуді ө ң деу кіреді. Біз программаларды кейде қ орларды басқ арушы, қ ұ рылғ ылар драйверлері (физикалық жә не логикалық) деп атаймыз. Мысалғ а, ОЖ ядросына жедел есте сақ тау қ ұ рылғ ысының драйвері болуы қ ажет.

Сонан соң есептеу жү йесінің қ орларын басқ ару программалары ядроның айналасында жетілдіріледі. Бірінші дең гей негізінен физикалық қ ұ рылғ ылардың драйверлерінен тұ рады. Келесі дең гей логикалық қ ұ рылғ ыларды басқ ару. Осындай дең гейлер кө п болуы мү мкін. Мысалы біздің сұ лбада файлдарды басқ ару драйверлері пайда болуы мү мкін, олар логикалық дискті басқ ару драйверлерімен байланысты, ал басқ алары ө з кезегінде нақ ты физикалық қ ұ рылғ ылар драйверімен байланысты. т.с.с. ОЖ- нің барлық компоненттері супервизор режимінде жә не операциялық жү йе режимінде жұ мыс істеуі міндетті емес. Ядродан логикалық қ ашық орналасқ ан компоненттердің кө пшілігі қ арапайым қ олданбалы режимде жұ мыс істей алады. Сол сияқ ты ОЖ-нің барлық компоненттері резидентті режимде жұ мыс істеуі міндетті емес. Функциялардың кө пшілігіне бұ л талап етілмейді.

Программалық модульдердің қ ұ рылымдық ұ йымдастыру тү рлері.

Қ ұ рылымды барлық программалық есеп кодтары орындалуғ а арналғ анда келесі кө рсетілген қ ұ рылымдардың бір варианты ретінде қ арастыруғ а болады:

1. Қ арапайым прграммалық қ ұ рылымдар. Бұ л қ ұ рылымда барлық операторлар бө лінбейтін модуль ретінде жасалынады, орындалу алдында жадығ а толық жү ктеледі жә не іске қ осылғ ан соң басқ а прграммалық модульдерге қ атынамайды.

2. Оверлейлік қ ұ рылым. Бұ л жағ дайда программалық блок белгіленген модульдерге бө лінеді. Негізгілері тү пкі деп аталады жә не қ абысу модульдерін шақ ыру координациясын орындайды. Қ абысу модульдері бір адресте орналасады жә не бір уақ ытта жадыда бір модульден артық модуль орналаспайды. Бұ л қ ұ рылым сілтеме кестесі арқ ылы сипатталады. Онда рұ қ сат етілетін жә не ескерілмейтін сілтемелері анық талады. Ескерілмейтін сілтемелерде негізгі шақ ыруғ а болатын модульдер кө рсетіледі, ал айыруда шақ ыруғ а болатын модульдер кө рсетіледі. Тү пкі модуль тұ рақ ты жадыда орналасады жә не ол арқ ылы барлық жү ктелетін модульдер орындалады. Бұ л қ ұ рылым жады бойынша ү немді, бірақ егер ұ йымдастыру дұ рыс болмаса, онда шақ ырылғ ан модульдерінің жү ктелуіне кө п уақ ыт кетеді.

3. Динамикалы тізбекті қ ұ рылымының ұ йымдастырылуы.

Link жә не Load операторлары арқ ылы жү зеге асырылады. Бұ л операторлар арқ ылы шақ ырылғ ан модуль жадыда орналасқ аны анық талады. Егер модуль жадыда орналасса, онда Link командасы басқ аруды оғ ан береді, ал егер команадасы болса онда модульге қ атынау кү тілуде.

Бұ л операторлардан басқ а sare жә не return командалары қ олданылады.

Sare- шақ ырылғ ан модульді тізбекті бастайды, ал return- модульді аяқ тайды.

Sare командасы арқ ылы ү зу нү ктесі сақ талады, ал return сол нү ктеге қ айтуды ұ йымдастырады.

Кемшілігі: Басқ а модуль бір модульды шақ ыру кезінде жү ктеуді кү туге уақ ыт кетеді.

Бұ л кемшілікті жою ү шін динамикалы параллель қ ұ рылымы қ олданылады, ол бағ ының қ ы есеп механизмы арқ ылы орындалады.

Бұ нда нақ ты ү рдіс арнайы команда арқ ылы ағ ындарды немесе бағ ының қ ы есептерді қ ұ рады, олар фондық орындалуғ а арналғ ан.

Фон ретінде тү сініктеме ол нақ ты ү рдістің параллельді басқ а бір берілген ү рдіспен орындалуы.

Бұ л жағ дайда арнайы синхрондау операторлары қ олданылады, олар қ ұ рылғ ан ағ ынның ү рдіспен ә рекеттесу ережелерін анық тайды, мысалы, wait, post. операторлары. Одан басқ а ү рдістерді басқ аруғ а программалық модульдерге қ атынасу принциптері ә сер етеді. Олар бірнеше типті болуы мумкін. 1) қ айта-атқ аратын программалық модуль 2) қ айта-жү ктелетін модуль.

3) Программалық модульдердің ұ йымдастыруының реентерабельдік принципі.

Бұ дан бір модуль ә рқ ашан басқ а модульдермен іске қ осылуғ а дайын.

Ү рдістің ө мір кезең інің бірінші қ адамы болып ү рдісті қ ұ ру жә не жү йелік кезекке ү рдіс туралы мә ліметтің орналастырылуы. Ү рдісті кө рсету кезінде ол туралы негізгі мә ліметтер дерекқ оры қ ұ рылады. Бұ л деректер кесте тү рінде толтырылады, оның кейде ү рдісті басқ ару блогі деп те атайды. Қ ұ рудың бірінші қ адамы болып алғ ашқ ы мекені бар ү рдісті басқ ару блогінің бө лінуі жә не осы блокті барлық ү рдістер кезегі болып табылады. Содан соң ү рдісті бейнелейтін қ ажетті мә ліметтер анық талады. Оларда стандартталғ ан жә не олардың ішінде кейбіреулері екілік разрядқ а дейін терең детіле пішімделген. Ү рдіс туралы барлық санаттарды келесі мә ліметтер жиынтығ ынан кө руге болады:

- базалық аймақ

- енгізу-шығ ару сұ ратулар аймағ ы

- қ ұ рылғ ыларғ а сұ рату аймағ ы

- жазбаларды басқ ару аймағ ы

- жү йелік қ ызметке сұ рату жә не оверлейлерге сұ рату аймағ ы. Базалық аймақ. Қ ұ рады:

- бұ л аймақ тың алғ ашқ ы мекені болып келетін ү рдісті басқ арудың блок мекені

- келесі басқ ару блогіна кө рсеткіш (ағ ымды жә не келесі кезектерде)

- ағ ымды пұ рсаттылық

- ағ ымды кезектің идентификаторы

- ү рдісті туындайтын идентификатор

- қ осарлана туындалатын жағ дай коды

- ағ ымды жағ дай статусы

- жағ дай мә ніне арналғ ан уақ ытша буфер

- мә ліметтер ү рдісіне арналғ ан жұ мыс аймағ ы

- мә ліметтерді басқ арудың блок мекені (жұ мыс кестесі)

- қ орлар жә йлі мә ліметтерге арналғ ан уақ ытша буфер

- жү йелік қ ызметке қ атынау кезінде қ айтарылатын мә ніне арналғ ан уақ ытша буфер

Енгізу-шығ ару сұ ратулар аймағ ы. Қ ұ рылғ ы ү рдісіне белгіленген жә не бекітілген сонымен қ атар программаны орындау кезіндегі оларғ а туындайтын сұ ратулар жә йлі мә ліметтер негізінде қ ұ рылады жә не енгізіледі.

Қ ұ рамы:

- арнайы басқ арудың блок мекені

- файлды басқ арудың блок мекені

- берілген сұ ратуғ а жіберілетін сө здер немесі байттар саны

- мә ліметтердің қ айда немесе қ айдан берілетін жады мекені

- енгізу-шығ аруғ а арналғ ан буфер мекені

- мә ліметтердің қ айда немесе қ айдан берілетін файл мекені

- жазба тү ріне кө рсеткіш

Қ ұ рылғ ығ а сұ рату аймағ ы. Жинақ тағ ыш тегергіштерге сұ ратуғ а қ ызмет кө рсету ү шін қ ажетті деректер жазылады.

Қ ұ рамы:

- файлдың аты бойынша енгізу-шығ ару программасы арқ ылы есептелінетін мә ліметтердің физикалық мекені

- осы мекен мен байланысты жады мекені

- соң ғ ы операцияның орындауы бойынша мә лімет

Жазбаларды басқ ару аймағ ы. Бұ ғ аттау ережесі жә не жазбалар бойынша блоктардың мекендетілуін бейнелейді, сонымен қ атар бір жазбағ а бірнеше рет қ атынау кезіндегі ү рдістерді бұ ғ аттау ережесін алдын ала жазу.

Жү йелік қ ызметке сұ рату аймағ ы. Қ ұ рамы:

- ү рдісті орналастыру жадысының картасы

- енгізу-шығ ару қ ұ рылғ ылары жә не ү рдіс мә ліметтерінің блогі арасындағ ы тура беру ү шін арналғ ан жады картасы

- оверлейлік аймақ тар ү шін арналғ ан жұ мыс кестесі.

Жады картасы ұ ғ ымына бө лектеніп берілген ү рдіске байланысты жадының логикалық аймағ ы кіреді.

Ү рдіс мә нмә тінінің қ ұ рылымы. Ү рдіс мә нмә тіні мә тін арқ ылы анық талғ ан кү й мен, пайдаланушының ауқ ымды айнымалылар мә німен жә не ақ параттық қ ұ рылымдары мен, қ олданылатын машиналық регистр мә ні мен, есептің мекендік кең істігінде жә не ү рдістер кең істігіндегі позицияларында сақ талғ ан мә ндері мен, сонымен қ атар берілген ү рдіске қ атысты есеп жә не ядро стектерінің қ ұ рамы болып табылады. Жү йенің операциялық мә тіні жә не оның ауқ ымды ақ параттық қ ұ рылымдары барлық ү рдістер мен бірге қ олданылады, бірақ ү рдістің мә нмә тінінің қ ұ рамдас бө лігі болып табылмайды.

Ү рдістің пайдаланушы мә нмә тіні деп ү рдістің адрестік кең істігінде орналасқ ан кодты жә не мә ліметтерді тү сінуге болады. Динамикалық бө лінген жадыда орналасқ ан (мысалы стандартты кітапханалық функциялар malloc, callloc жә не realloc) кө мегімен барлық мә ліметтер инициализацияланатын жә не ө згермейтін мә ліметтерге (мысалы константалар), инициализацияланатын жә не ө згеретін мә ліметтер (компилляция кезінде меншіктелетін барлық айнымалылар), инициализацияланбай ө згеретін мә ліметтер (компилляция кезінде бастапқ ы мә ндері меншіктелмеген барлық статикалық айнымалылар), қ олданушы стегі жә не мә ліметтерге бө лінеді.

Орындалмайтын код жә не инициализацияланатын мә ліметтер программалар файлы қ ұ рамын қ ұ райды, олар ү рдістің мә нмә тінінде орындалады. Пайдаланушылар стегі қ олданбалық режимдегі (user-mode) ү рдістің жұ мысы кезінде қ олданылады.

Ядро мә нмә тіні тү сінігінде біріккен регистрлік мә нмә тін жә не жү йелік мә нмә тін тү сінігі берілген.Ү рдіс іске қ осылғ ан жағ дайда жү йе ү рдіс контекстінде орындалады. Егер жү йе ядросы басқ а ү рдісті іске қ осуды жү зеге асыру кезінде ол мә нмә тіннің аусып қ осуын орындайды, себебі басқ а ү рдіс ө зінің мә нмә тінінде орындалу керек. Мә нмә тіннің қ айта ауысу кезінде жү йе ядросы алдың ғ ы ақ паратты сақ тайды, ө йткені ол бірінші ү рдіс мә нмә тінінде қ айта оралып оны аяқ тауғ а мү мкіндік береді.

Ү рдіс мә нмә тіні қ ұ рамында ү рдіске бө лінген есептің мекен кең істігі жә не ү рдістің қ ұ рамына кіретін аппараттық регистр жә не деректер ядросының қ ұ рылымы болады. Пайдаланушы мә нмә тіні командалардан жә не ү рдіс деректерінен, есеп стегі жә не бірігіп қ олданатын виртуалды ү рдіс мекенінің жады кең істігінен тұ рады.

Ү рдістің мә нмә тіні пайдаланушы мә нмә тіні мен ядро мә нмә тінінен тұ рады.

Сурет 1. Ү рдіс мә нмә тінін қ ұ раушы.

 

Негізгі ә дебиеттер 1 [151–156], 9[25-31], 3[19-41]

Қ осымша ә дебиеттер 13 [59-65], 11[104-116], 15[114-157]






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.