я кожної задачі звітність, мати таблицю сторінок для трансляції адресних просторів. Для Опису кожної сторінки диспетчер пам'яті ОС заводити відповідній дескриптор, что відрізняється від дескриптора сегмента тім, что в ньом немає необхідності мати полі довжина - Аджея Всі сторінки мают однаково розмір. p> При звертанні до віртуальної сторінки, Якої НЕ має в Данії момент у оператівної пам'яті, вінікає переривані и Керування передається диспетчеру пам'яті, что повинною найти вільне місце. Звичайний надається перша вільна сторінка. Если Вільної ФІЗИЧНОЇ сторінки немає, то диспетчер пам'яті по одній з віщезгаданіх дисциплін заміщення (LRU, LFU, FIFO, random) Визначіть сторінку, что підлягає розформуванню або Збереження в зовнішній пам'яті. p> Если ОБСЯГИ ФІЗИЧНОЇ пам'яті Невеликий и даже часто вікорістовувані сторінки НЕ вдається розмістіті в оператівній пам'яті, то вінікає так кличуть входити пробуксовка - Ситуація, при якій завантаження потрібної нам сторінки віклікає переміщення в зовнішню пам'ять тієї сторінки, з яким ми теж активно Працюємо.
Таким чином, найважлівішою ПЕРЕВАГА сторінкового способу організації пам'яті є Мінімальна фрагментація. Цею метод можна Було назваті Найкращим, ЯКЩО б НЕ Наступний Дві Обставини.
Перша - сторінкова трансляція віртуальної пам'яті вімагає суттєвіх накладних витрат. Табліці сторінок звітність, розміщати теж в пам'яті. Крім цього ці табліці звітність, обробляті - з ними працює диспетчер пам'яті. p> Друга - програми розбіваються на сторінки Випадкове, без учета логічніх зв'язків. Це приводити до того, что міжсторінкові переходь відбуваються частіше чем міжсегментні и становится Важко організовуваті поділ програмних модулів между процесами, что віконуються.
Для того щоб унікнуті іншого недоліку, зберігші достоїнства сторінкового способу організації пам'яті, Було запропоновано ще один способ - сегментно-сторінковій. p> Сегментно-сторінковій способ організації віртуальної пам'яті
Як и в сегментному способі розподілу пам'яті, програма розбівається на логічно Закінчені Частини - сегмент - и Віртуальна адреси містіть вказівку на номер відповідного сегмента. Друга ськладової віртуальної адреси - Зсув відносно качану сегмента - у свою черго, может складатіся з двох полів: віртуальної сторінки й індексу. Іншімі словами, виходе, что Віртуальна адреси тепер Складається з трьох компонентів: сегмент, сторінка, індекс.
цею способ організації віртуальної пам'яті вносити ще Більшу затримки доступу до пам'яті. Звітність, спочатку обчісліті адресою дескриптору сегмента и Прочитати его, потім обчісліті адресою елементами табліці сторінок цього сегменту и вітягті з пам'яті необхідній елемент, и Вже Тільки после цього можна до номери ФІЗИЧНОЇ сторінки пріпісаті номер коміркі в сторінці (індекс). Затримка доступу до шуканої коміркі виходе прінаймні в три рази больше, чем при простій прямій адресації.
Щоб унікнуті цієї непріємності, вводитися кешування, причому кеш, як правило, будується по асоціатівному прінціпі. p> 6. Транслятором, компіляторі й інтерпретаторі - загальна схема роботи
Визначення транслятора, компілятора, інтерпретатора
Транслятор - це програма, что переводити вхідну програму на віхідній (вхідній) мові в еквівалентну їй віхідну програму на результуючій (Віхідній) мові. p> Компілятор - це транслятор, что здійснює переклад віхідної програми в еквівалентну їй об'єктну програму мовою машинних команд або мовою асемблера.
Таким чином, компілятор відрізняється від транслятора позбав тім, что его результуюча програма всегда винна буті написана мовою машинних кодів чг мовою асемблера. Результуюча программа транслятора, у Загально випадка, может буті написана на будь-якій мові. Відповідно, усяк компілятор є транслятором, альо НЕ навпаки - не всякий транслятор буде компілятором.
Необхідність компіляторів з'явилася одночасно з з'явитися мов програмування високого уровня. p> Інтерпретатор - це програма, что спріймає вхідну програму віхідною мовою и Виконує ее.
Інтерпретатор, так само як и транслятор, Аналізує текст віхідної програми. Однак ВІН НЕ породжує результуючої програми, а відразу ж Виконує віхідну відповідно до ее змісту, завданні семантики вхідної мови. p> етап трансляції. Загальна схема роботи транслятора
В
В
Рис. 1. Загальна схема роботи компілятора
На мал.1 представлена ​​загальна схема роботи компілятора. З неї видно, что в цілому процес компіляції Складається з двох основних етапів - синтезу й аналізу.
На етапі аналізу віконується розпізнавання тексту віхідної програми, Створення і Заповнення Таблицю ідентіфікаторів. Результатом его роб...