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

Тақырып 7-8. Жадыны басқарудағы жүйелік құралдар

Мақсаты: Жадыны басқарудағы жүйелік құралдардың ұйымдасты-рылуын  талдау

Кілттік сөздер: жады, сегмент, виртуалды жады, адрес, негізгі жады, сұраныс, сегментация, уақыт, цикл, файлдық жүйе, модуль, функция, үрдіс

айнымалы, команда

Дәріс жоспары (2 сағат)

  1.  Негізгі жады. Ардестердің байланыстылығы. Виртуалды жады.

  2.  Жады және кескіні (отображение). Жады сегменттеу құрылымы. Сегменттерді жою және ауыстыру (переброска).

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

  4.  Ығыстыру стратегиясы: уақыт бойынша, циклдік тасу (откатка), fifo, беттердің сирек қолданылуы бойынша.

  5.  Жалпы жадыны үлестіру. Сыртқы жады. Виртуалды файлдық жүйе. Сыртқы жадыны басқару. Файлдық жүйені үлестіру.

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

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

Мультибағдарламалық жүйеде жадыны басқаруды операциялық жүйенің функциялары:

  1.  Бос және бос емес жадыны қадағалау;

  2.  Үрдістерге жадыны бөліп беру және процесс орындалып болған соң жадыны босату;

  3.  Барлық үрдістерді орындау үшін негізгі жадының көлемі жетпеген жағдайда үрдістердің берілгендері мен кодтарын оперативті жадыдан дискіге ауыстыру (толық және бөліктік) және орын босаған уақытта оларды қайтарып алу;

  4.  Бағдарламалар адрестерін физикалық жадының нақты облыстарына баптау.

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

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

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

Адрестер түрлері

Командаларды және айнымалыларды бағдарламаның негізгі циклының әр түрлі кезеңдерінде идентификациялау үшін символдық атаулар, виртуалды және физикалық адрестер қолданылады (1-сурет).

  1.  Символдық атауларды қолданушы бағдарламаны алгоритмдік тілде немес ассемблерде жазу барысында меншіктейді;

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

  3.  Физикалық адрестер оперативті жадының айнымалылар мен командалар орналасқан немесе орналасатын ұяшықтары нөміріне сәйкес келеді.

Бағдарламаның виртуалдық адрестер жиынтығы виртуалды адрсетік кеңістік деп аталады. Вируалды адрсетер кеңістігінің диапазоны барлық үрдістерде бірдей болады. Мысалы, 32-разрядты виртуалдық адрестерді қолданғанда диапазон мына шекаралармен беріледі 0000000016 және ҒҒҒҒҒҒҒҒ16. Соған қарамастан әрбір үрдістің өзіндік виртуалдық адресті кеңістігі бар. Оны транслятор айнымалыларға меншіктейді және ол бағдарлама кодына байланысты болмайды.

Символдық атаулар

Виртуальді адрестер

Физикалық адрестер

Алгоритмдік тілдегі программадағы айнымалылар идентификаторы

Транслятор меншіктейтін шартты адрестер

Физикалық жады ұяшықтарының нөмірлері

транслятор

 

Сурет 1. Адрестер түрлері