Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основні правила сторінкової організації пам'яті. Реалізація сторінкової організації пам'яті

Поиск

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

■ Програми представляють в віртуальних (умовних) адресах віртуальної однорів- невої пам’яті, ємність якої дорівнює всьому адресному простору комп’ютера, визначено­му розміром адрес в регістрі адреси.

■ Віртуальна пам’ять та фізична (основна та зовнішня) пам’ять розбиваються на сторінки рівного об’єму.

■ Сторінка - це деяка множина послідовно розміщених комірок пам’яті.

■ Сторінкам присвоюються номери.

■ Кожна фізична сторінка здатна зберігати вміст однієї віртуальної сторінки.

■ Нумерація комірок в обох сторінках (віртуальних і фізичних) однакова.

■ Базовою порцією інформації, яка переміщується між основною та зовнішньою пам’яттю, є вміст однієї сторінки.

■ Ідентичність вмісту відповідних сторінок основної пам’яті і зовнішньої пам’яті забезпечується використанням спеціальних методів оновлення вмісту сторінок осно­вної пам’яті.

- Заміщення вмісту сторінок в основній пам’яті вмістом сторінок з зовнішньої пам’яті здійснюється за правилами, які називають алгоритмом заміщення.

■ Взаємодія між сторінками віртуальної і фізичної пам’яті задається сторінковою таблицею.

■ Між різними процесами (програмами) розподіляється фізична (а не віртуальна) пам’ять.

- Основна пам’ять динамічно розподіляється між різними процесами (програма­ми) посторінково.

Переваги сторінкової організації пам’яті:

■ не вимагаються додаткові переміщення програм в пам’яті, пов’язані з потребою звільнення місця через фрагментацію;

■ скорочується кількість пересилань між основною та зовнішньою пам’яттю, так як вміст сторінки завантажується лише при необхідності;

 

* зменшуються вимоги до ємності основної пам яті, так як до неї завантажуються пише активні частини програми.

Про сторінкову організацію пам’яті говорять, що вона є прозорою, тобто програміст може працювати, не звертаючи уваги на факт її існування.

Реалізація сторінкової організації пам’яті

Відповідно до наведених вище правил сторінкової організації пам’яті спочатку по­трібно розділити віртуальну та фізичну пам’ять на сторінки рівного об’єму, присвоїти цим сторінкам номери, та встановити відповідність між цими сторінками, як це для прикладу показано на рис. 10.19, де об’єм сторінки вибрано рівним 4КБ, а відповідні віртуальним сторінкам А, В, С, Б фізичні сторінки розміщені як в основній, так і в зо­внішній пам’яті. При цьому відразу необхідно зауважити, що довільній віртуальній сто­рінці може відповідати довільна фізична сторінка, тобто відповідність між сторінками є повністю асоціативною.

Нехай віртуальна пам’ять має ємність У=2v слів, та поділена на 2к віртуальних сторі­нок, кожна з яких має об’єм 25 слів, тобто розрядність віртуальної адреси V = к + 8, де к - адреса (номер) віртуальної сторінки, в - номер слова в сторінці. Тоді формат вірту­альної адреси буде мати вид, представлений на рис. 10.20.

Аналогічно, нехай основна пам’ять має ємність М=2m слів, та поділена на 2і віртуаль­них сторінок, кожна з яких має об’єм 2е слів, тобто розрядність адреси основної пам’яті m = 1 + s, де 1 - адреса (номер) сторінки основної пам’яті, в - номер слова в сторінці.

Тоді формат адреси основної пам’яті буде мати вид, представлений на рис. 10.21.

 

Подібним чином, нехай зовнішня пам’ять має ємність Е=2е слів, та поділена на 2Р віртуальних сторінок, кожна з яких має об’єм 25 слів, тобто розрядність адреси осно­вної пам’яті е = р + s, де р - адреса (номер) сторінки зовнішньої пам’яті, 5s- номер слова в сторінці. Тоді формат адреси зовнішньої пам’яті буде мати вид, представлений на рис. 10.22.

Порядок перетворення адрес (номерів) віртуальних сторінок у фізичні задається у вигляді сторінкової таблиці, що вказує відповідність віртуальних і фізичних сторінок. Сторінкова таблиця формується, і при необхідності змінюється, операційною системою.

Процедура звернення до пам’яті така: номер віртуальної сторінки вибирається з вір­туальної адреси і використовується як вхід в сторінкову таблицю, яка вказує номер фі­зичної сторінки (рис. 10.23).

 

Слово сторінкової таблиці складається з трьох основних полів (про допоміжні поля буде сказано пізніше):

■ перше поле, яке займає один розряд, вказує тип пам’яті. Коли в цьому полі запи­сано 0, це говорить про те, що сторінка відсутня в основній пам’яті. Коли записано 1 - це говорить про те, що сторінка наявна в основній пам’яті. Цей розряд зазвичай називають розрядом наявності (PH, або valid bit V).

■ адреса сторінки в основній пам’яті (коли PH = 1). Якщо сторінка знаходиться в зовнішній пам’яті - це поле ігнорується.

- адреса сторінки в зовнішній пам’яті (коли PH = 0). За цією адресою вибирають вміст сторінки із зовнішньої нам’яті та загружають до основної пам’яті. Крім того, ро­биться відповідний запис в сторінковій таблиці, а після використання ця сторінка буде повернута назад в зовнішню пам’ять.

Перетворення віртуальної адреси у фізичну виконується так, як показано на рис. 10.24. Тобто номер віртуальної сторінки за допомогою сторінкової таблиці заміню­ється на номер фізичної сторінки, а номер слова в межах сторінки залишається без змін, причому залежно від значення розряду наявності (PH) формується або адреса основної пам’яті, або адреса зовнішньої пам'яті.

Рис. 10.24. Перетворення віртуальної адреси у фізичну

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

- номер фізичної сторінки є функцією двох змінних - номера віртуальної сторінки, та номера програми, як це показано на рис. 10.25. Іншими слова­ми, для кожної програми має бути своя сторінкова таблиця.

Віртуальна пам’ять програми 1


 

Рис. 10.26. Перетворення віртуальної адреси у фізичну в багатопрограмних комп'ютерах

 



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 322; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.38.67 (0.006 с.)