Віртуальна пам’ять та її організація

Матеріал з Вікі ЦДУ
Версія від 20:06, 1 березня 2011; Ольшанецька Анна (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

Віртуальна пам’ять та її організація

Системи віртуальної пам’яті можна розділити на 2 класи:

1) системи з фіксованим розміром блоків (сторінка);

2) системи з змінним розміром блоків (сегмент).

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

2) Сегментація пам’яті базується на програмах які за звичаєм розділені на окремі області – сегменти. Кожен елемент представляє собою окрему одиницю інформації, яка вміщує сукупність даних чи програм і розміщена в адресному просторі користувача. В кожному сегменті встановлюється власна нумерація слів починаючи з 0. Сегменти є окремими логічними одиницями інформації які необхідно захищати і саме на цьому рівні вводяться різні режими доступу до сегментів. Є два типи сегментів – програмний сегмент; сегмент даних. В системах з сегментацією пам’яті кожне слово в адресному просторі користувача визначається віртуальним адресом, що складається з двох частин: - старші розряди адреса розглядаються як номер сегменту; - молодші – номер слова в середині сегменту. Для забезпечення перетворення віртуального адресу в реальний фізичний адрес основної пам’яті для кожного користувача ОС має сформувати таблицю сегментів.

Таблиця сегментів користувачів зберігається в основній пам’яті.