Сегментно - сторінкова схема організації віртуальної пам’яті..
Метою організації сегментно – сторінкового механізму організації віртуальної пам’яті є уникнення недоліків сторінкового способу за рахунок збільшення накладних витрат на реалізацію сегментно – сторінкового способу.
Так само як і у випадку з сегментами вся програма розділяється на логічно завершені частини сегментів і віртуальна адреса містить вказівник на номер відповідного сегменту. Інша складова віртуальної адреси складається з двох частин: віртуальної сторінки та індексу.
Рис. 6.3. Сегментно - сторінкова схема організації віртуальної пам’яті.
РТС – регістр таблиці сегментів;
S – сегмент;
Р – сторінка;
І – індекс;
ТС – таблиця сторінок.
З цього рисунку видно, що сегментно–сторінковий спосіб організації віртуальної пам’яті вносить ще більшу затримку в організації доступу до пам’яті. Спочатку необхідно обчислити адресу дескриптора сегменту і завантажити його в пам’ять. Потім обчислити адресу таблиці сторінок даного сегменту, зчитати з пам’яті відповідний елемент цієї таблиці, визначити вміст даного сегменту. Обчислити адрес фізичної сторінки в даному сегменті і завантажити відповідні дані в пам’ять (в три рази повільніше ніж при простій прямій адресації).
Тому для прискорення організації доступу до пам’яті використовується механізм кешування, при якому забезпечується вибірка даних з таблиці сегментів та таблиці сторінок одним зверненням до кешу.
Перевагою сегментно–сторінкової організації пам’яті є те, що програма розділяється на сегменти, які розміщуються в пам’яті повністю. Сегменти в свою чергу розділяються на сторінки і всі сторінки сегменту також розміщуються в пам’яті. Це дозволяє зменшити час доступу до конкретної сторінки, зменшити кількість звертань до відсутніх сторінок, тому що імовірність “виходу” віртуальної адреси за межі сегменту є значно вищою імовірності “виходу” за межі сторінки. Сторінки використовуваного сегменту пам’яті можуть знаходитись не одна біля одної в даному сегменті, а вперемішку, в залежності від логічної структури виконуваної задачі.
Використання такої схеми полегшує розподіл програмних модулів між паралельними задачами. Також можливе динамічне компонування сторінок в процесі виконання програми, а використання сторінок дозволяє мінімізувати фрагментацію пам’яті.
Однак, недоліком є значні обчислювальні затрати на її організацію. Тому така схема, як правило використовується в дуже дорогих і потужних обчислювальних системах, наприклад в паралельних комп’ютерах. Такий механізм закладений і в процесорах Intel 80x86, але через високу складність організації такої системи він практично не використовується в сучасних ОС.
Дата добавления: 2016-07-27; просмотров: 3455;