Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6 лек.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
184 Кб
Скачать
☆

29 Тақырып. Жедел жадыны тарату

Дәріс мақсаты: Жедел жадынының құрылымын толық ашу, түсіндіру, баяндау.

Негізгі қарастырылатын сөздер: Windows NT, Windows 9х, орындалу ағыны.

Дәріс сұрақтары:

1.1 Қолданбалы программа

1.2 Виртуальды жады диспечері (Virtual Memory Manager, VMM)

Дәріс мазмұны

Windows NT операциялық жүйесінде жадының жазық моделі қолданылады. Алайда виртуальды адрестік кеңістікті тарату схемасы Windows 9х жадысының моделінен айырмашылығы бар. Ең алдымен Windows 9х – ке қарағанда нақты аппараттық қорғау құралдары әрекеттестіріледі, сонымен қатар принципиалды логикалық мән қолданылады.

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

Сол операциялық жүйенің қалған программалық модульдері қолданбалы программалар бойынша серверлік процестер болатын жеке виртуальды адрестік кеңістік жүйесінде қолданбалы процестерге көрінбейді, әрі ену мүмкін емес. Осы программалық модульдер басқа қорғау шеңберінде жатады, ол жүйе ядросынан аластатылған. 64 кбайт шектеуден 2 Гбайт – қа дейін қолданбалы программаларға 2 Гбайт жергілікті сызықты емес адрестік кеңістікке бөлінеді. Қолданбалы программалар бір – бірінен бөлінген, алайда олар алмасу буфері (Clipboard) арқылы, DDE (Dynamic Data Exchange – деректерді динамикалық алмасу) арқылы да байланыста болады.

Қолданбалы программаның әр облысының жоғарғы бөлігінде 2 Гбайт көлемді DLL кітапханасының 3 қорғаныш кілті орналасқан. Ол жеке жүйелік коды бар адрестік кеңістікке шақыртуларды бағыттап қояды. Бұл жүйелік код серверлік процессор ретінде ұсынылып, сұраныс функциясын орындайды және нәтижелік кері қолданбалы программаны адрестік кеңістігіне жібереді. Серверлік процессор қолданбалы деңгей процесі болғанымен, өзін шақыртатын қолданбалы программадан толығымен қорғалған және одан аластатылған.

2 және 4 Гбайт белгілері арасында 0 қорғаныш шеңберіндегі Windows NT операциялық жүйесінің жүйелік компоненттері орналасқан, сонымен қатар ағындар жоспарлаушысы мен виртуальды жады диспечері де кіреді. Бұл облыстағы жүйелік парақтар супервизор ерекшеліктерімен берілген және процессор қорғанышы шеңберінің физикалық схемаларымен беріледі. Бұл төмендеңгейлі жүйелік кодты көрінбейтін етеді және қолданбалы программаның енуін болдырмайды, бірақ шеңберлер арасында ауысуына байланысты өнімділігін төмендетеді.

Windows NT типті Windows программасының 16 – разрядтылығы үшін Windows on Windows (WOW) сеансы ұймдастырылады. Windows 9х – ке қарағанда Windows NT жүйесі 16 – разрядты Windows программалр жадының жеке кеңістіктерінде немесе бөлетін адрестік кеңістіктерде орындауға мүмкіндік береді. Барлық жағдайда 16 – 32 разрядты қолданбалы Windows – программалар OLE механизмін пайдалана отырып, бірге еркін әрекеттесе алады. Жеке қолданбалы программалар және арнайы ағындарды басқаруға негізделген. WOW сеанстар көптапсырмалы сығымдалу режимінде жұмыс жасайды. Бірнеше 16 – разрядты Windows – программалар WOW – нің бір сеансында көптапсырмашылықтың кооперативті моделіне сәйкес орындалады. Windows NT DOS – тің бірнеше сеансын көптапсырмалық режимде ашады. Windows NT – дің толық 32 – разрядты архитектурасы болғандықтан GDI және USER компонентінің ресурстарына теориялық шектеу бермейді.

Қосымшасын іске қосқанда өз ақпараттық құрылымымен берілген процесс құрылады. Бұл процесс шеңберінде орындалу ағыны жүктеледі. Қажеттілігіне қарай бұл ағын басқа көптеген ағындардың іске қосылуын инициализдей алады. Көптеген жүктелген процесстер параллель орындалады және процесстің әрқайсысы мультитапсырмалы (көпағынды) қосымшаны білдіреді. Бір процесс шеңберінде тапсырмалар (ағындар) бірдей виртуальды адрестік кеңістікте орындалады. Ал процесстер әр түрлі виртуальды адрестік кеңістіктерде орындалады. Қысқаша айтқанда, бұл Windows 9х операциялық жүйесін еске түсіреді.

Әр түрлі виртуальды адрестік кеңістіктердің бейнесі виртуальды жадының парақтық ұйымдастырылу принципі бойынша жүзеге асырылады.

Жадыны бөлу, оны тіркеу, парақты тазалау және орналастыру процессорымен виртуальды жады диспечері (Virtual Memory Manager, VMM) айналысады. Өз жұмысы кезінде бұл компонент код қойылатын талапты еске алу мен дискіге ену процесстерін минимилизациялау секілді күрделі стратегиясын жүзеге асырады. Орындалып жатқан қосымшалар мен қосымша және операциялық жүйенің өзінің коды арасын байланыстыру үшін жадыны қорғаудың сәйкесті механизмдері қолданылады.

Физикалық парақта бейнеленетін жадының әр виртуальды парағы парақтық кадрға (page frame) орын ауыстырылады. Кодты немесе деректерді дискіден жадыға орын ауыстыру алдында виртуальды жады диспечері бос немесе нөлдік (нөлдермен толтырылған) парақтық кадрды табуы немесе құруы керек. Парақты нөлдермен толтыру С2 қаіупсіздік деңгейлерінің стандартын білдіреді. Белгілену алдында парақтық кадрлар алдыңғы мазмұнды басқа процесстер қолданбас үшін нөлдермен толтырылуы тиіс. Программалар ереже бойынша код парақтарын өзгертпейді. Мұндай парақтарды жай ғана қайта құру (жою) керек.

Виртуальды жады диспечері парақтық қателер (page fault) типті үзілістерді оңай қанағаттандыра алады. Ал аппараттық құралдар керекті парақтарды жоғарылатуды керек етеді, алайда бұл жүйенің өнімдерін төмендетеді.

Процесс кодты немесе деректерді қолданғанда жүйе (Рagefile.sys) өсіруін дискіге жүктеу қажет болғанда орындалады. Рagefile.sys арнайы дискілік кеңістіктің көшірмеленген блогын береді. Ол «нашар» деп есептелетін парақтарды жүктеуді, физикалық жадыны босату үшін орындайды. Бұл файл үздіксіз әрі фрагменттелген де бола алады, ол жүйелік дискіде орналаса алады немесе кез келген басқа дискіде, тіпті бірнеше дискілерде орналасады. Бұл парақтық файлдардың көлемі виртуальды жадыны қолдану кезінде сыртқы жадыда сақтауды орындай да алады. Қалыпты жағдайда өсу файлы көлемі Windows NT 4.0. операциялық жүйесінде тең деңгейде орнатылады, алайда қолданушы оның көлемін өзінің қалауынша өзгерте алады. Келесі жүйелерде парақтық файлдың көлемі жедел жадының физикалық көлемінің жарты мәртелік көлеміне тең. Яғни, мысалы, жедел жадысы 512 Мбайт компьютер үшін үнсіз келісім бойынша Рagefile.sys файлының көлемі 768 Мбайтқа тең. Өсу файлы біреу емес болуы мүмкін жүйе 16 өсу файлын ұсынады, сондықтан оларды бірнешеу етіп құрып, жедел қатқыл дискіге орналастырады.

Windows NT 4.0. жүйесінде қосымшалар қолданатын және құратын объектілер жады пулдарында (mеmеory pools) сақталады. Бұл пулдарға ену процессорының жұмыс процесінде ғана жүзеге асырылады. Сондықтан пулдардағы объектілер көрінетіндей болуы үшін бұл ағындар жұмыс режиміне ауысуы қажет.

Орын ауыстырылатын немесе резидентті емес (mеmеory pools) пул қажеттілігіне қарай дискіге жүктеле алатын объектілерден тұрады. Бқл пулдар жадыда үнемі болуы тиіс. Көбіне мұндай объектілер деректер құрылымы және мультипроцессорлы жүйелерде қарама – қайшылықты болдырмауғы арналған құрылымдардан тұрады.

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

Windows NT операциялық жүйесінің виртуальды жадысы тіркелген, (reserved) белгіленген (commited) және қол жетімді (availabel) болып бөлінеді.

  • Тіркелген жады виртуальды жады диспечері процесс үшін бөлетін, бірақ процесстің жады квотасында еленбейтін үздіксіз адрестер жинынан тұрады. Процесске жадыға жазба жазуы қажет болса, оған тіркелген жадыдан қажетті көлем бөлініп беріледі. Егер процесске жадының үлкен көлемі қажет болса, онда жүйеде қосымша жады бір уақытта тіркеліп, қолданыла алады.

  • Жады бөлінеді, егер жадының виртуальды диспечері жадыда Рagefile.sys файлында орын тіркеп қойса. Бөлінген жады көлемі оның қолданатын жады көлемімен ерекшеленеді. Бөлінген жады өсу файлы көлемімен шектеледі. Бөлінген жадының шектеулі көлемі өсу файлы көлемін үлкейтпей процестерге қандай жады көлемін бөлуге болатыны жүйеде анықталады. Егер жүйеде дискілік кеңістік жеткілікті болса, онда өсу файлы үлкейтіледі де, белгіленген жадының шектеулі көлемі кеңейтіледі.

Бөлінген де, тіркелген де болып табылмайтын барлық жады ену мүмкіндігіне ие. Ену мүмкіндігі бос жады, нөлденген жады, сонымен қатар күту тізімінде болатын жады, яғни жұмыс жиынтығынан жойылған жады қайта талап етілуі мүмкін.

Қорытынды

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

Дәріске әдістемелік нұсқау:

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

Ұсынылатын әдебиеттер

Негізгі:

1. Балақаева Г. Операциялық жүйелер=Operating systems: Оқу құралы./Г.Балаќаева; Қазақ тіліне ауд. Б.Яғалиева.- Алматы: Print-S, 2004.-

2. Освоение операционной системы UNІX / К.и., Пупков.; Авт.

:К.А.Пупков, А.С.Черников, Н.М.Якушева.- Москва, 2005- 112 с.

3. Операционные системы: разработка и реализация (+CD)

/ Э. Таненбаум, А.Вудхалл.- Санкт-Петербург, 2006.- 576 с.

Қосымша:

1. Жүйелік бағдарламалық қамтама  Әйтімова, Ұ.Ж.  Қызылорда 2012

2. Операциялық жүйелер. Явровский В. Астана 2008

3. Реестр Windows Vista Трюки и эффекты (+CD-ROM)  Гладкий, А.  Санкт – Петербург 2008

Бақылау сұрақтары

1. Парақтық қателер (page fault) дегеніміз не?

2. Көшірмеленген блок дегеніміз не?