Бакуменко Володимир - "Сторінковий розподіл"

Матеріал з Вікі ЦДУ
Версія від 13:36, 8 січня 2012; XxxSACREDxxx (обговореннявнесок)

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

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

Вся оперативна пам'ять машини також ділиться на частини такого ж розміру, називані фізичними сторінками (чи блоками).

Розмір сторінки звичайно вибирається рівним ступеня двійки: 512, 1024 і т.д., це дозволяє спростити механізм перетворення адрес.

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

На малюнку 1 показана схема сторінкового розподілу пам'яті.