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

1.10.7 Сторінкова пам’ять

Описані вище схеми недостатньо ефективно використовують пам’ять, тому в сучасних схемах управління пам’яттю не прийнято розміщувати процес в оперативній пам’яті одним безперервним блоком.

У найпростішому і найбільш поширеному випадку сторінкової організації пам’яті (або paging) як логічний адресний простір, так і фізичний представляються набором блоків або сторінок однакового розміру. При цьому утворюються логічні сторінки (page), а відповідні одиниці у фізичній пам’яті називають фізичними сторінками або сторінковими кадрами (page frames). Сторінки (і сторінкові кадри) мають фіксовану довжину, зазвичай є ступенем числа 2, і не можуть перекриватися. Кожен кадр містить одну сторінку даних. При такій організації зовнішня фрагментація відсутня, а втрати через внутрішню фрагментації, оскільки процес займає ціле число сторінок, обмежені частиною останньої сторінки процесу.

Логічна адреса в сторінкової системі – упорядкована пара (p, d), де p – номер сторінки у віртуальній пам’яті, а d – зміщення в рамках сторінки p, на якій розміщуються адресовані елементи. Зауважимо, що розбиття адресного простору на сторінки здійснюється обчислювальною системою непомітно для програміста. Тому адреса є двовимірна лише з точки зору операційної системи, а з точки зору програміста адресний простір процесу залишається лінійним.

Описувана схема дозволяє завантажити процес, навіть якщо немає безперервної області кадрів, достатньою для розміщення процесу цілком. Але одного базового регістра для здійснення трансляції адреси в даній схемі недостатньо. Система відображення логічних адрес у фізичні зводиться до системи відображення логічних сторінок у фізичні і являє собою таблицю сторінок, яка зберігається в оперативній пам’яті. Іноді кажуть, що таблиця сторінок – це кусково–лінійна функція відображення, задана в табличному вигляді.

Інтерпретація логічного адреси показана на рис. 1.5. Якщо виконуваний процес звертається до логічного адресою v = (p, d), механізм відображення шукає номер сторінки p в таблиці сторінок і визначає, що ця сторінка знаходиться в сторінковому кадрі p’, формуючи реальну адресу з p’ і d.

Рис. 1.5 – Зв’язок логічної і фізичної адрес при сторінкової організації пам’яті

Таблиця сторінок (page table) адресується за допомогою спеціального регістра процесора і дозволяє визначити номер кадру за логічною адресою. Крім цієї основної задачі, за допомогою атрибутів, записаних в рядку таблиці сторінок, можна організувати контроль доступу до конкретної сторінки і її захист.

Відзначимо ще раз відмінність точок зору користувача і системи на активну пам’ять. З точки зору користувача, його пам’ять – єдиний безперервний простір, що містить лише одну програму. Реальне відображення приховано від користувача і контролюється ОС. Зауважимо, що процесу користувача чужа пам’ять недоступна. Він не має можливості адресувати пам’ять за межами своєї таблиці сторінок, яка включає тільки його власні сторінки.

Для управління фізичної пам’яттю ОС підтримує структуру таблиці кадрів. Вона має один запис на кожен фізичний кадр, що показує його стан.

Відображення адрес має бути здійснено коректно навіть у складних випадках і зазвичай реалізується апаратно. Для посилання на таблицю процесів використовується спеціальний регістр. При перемиканні процесів необхідно знайти таблицю сторінок нового процесу, покажчик на яку входить в контекст процесу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]