Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

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

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

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

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

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

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

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

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

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





Дата публикования: 2014-11-04; Прочитано: 619 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...