Головна |
Програма розбивається на фрагменти рівної довжини (крім м.б. останнього) кратної ступеня 2 - сторінки. Пам'ять також розбивається на рівні віртуальні сторінки. Частина віртуальних сторінок розміщується в ОП, а частина у зовнішній (зазвичай МД) - це файл підкачки або сторінковий файл або своп-файл.
У деяких ОС сторінки вивантажуються не в файл, а в спец. розділ на диску. (UNIX)
Таке розбиття ОП - дає двовимірне адресний простір:
1-я координата адресного простору - номер сторінки
2-я - номер комірки всередині сторінки - індекс
Число бітів під індекс - розмір сторінки, число бітів під номер сторінки - макс. розмір віртуальної пам'яті для програми.
При виконанні програми відображення пам'яті є зіставлення номера віртуальної сторінки номеру фізичної і приписування бітів адреси індексу.
Для кожного завдання будується Таблиці сторінок потрібна для відображення адресних просторів. Дескриптор для кожної сторінки - не має розміру сторінки (на відміну від сегментной організації).
біт присутності | Номер фізичної сторінки або адресу на диску | Права доступу |
Принцип формування адреси - як в сегментной організації.
захист сторінкової пам'яті також заснована на рівні доступу до свого сайту.
Можливі такі рівні доступу:
1. Тільки читання
2. Читання і запис
3. Тільки виконання
При відображенні адрес коди доступу порівнюються із запитом, при розбіжності - переривання.
При зверненні до віртуальної сторінці, відсутньої в ОП - переривання - диспетчер пам'яті шукає вільне місце (перше ж). Якщо його немає, то заміщення по одній з дисциплін.
Якщо обсяг фізичної пам'яті невеликий, то виникає пробуксовка, Коли витісняється сторінка, з якої часто працюємо.
Більшість ОС використовують дисципліну заміщення LRU (OS / 2 і Linux) але в Windows використовується FIFO, для незалежності від апаратних можливостей ЦП. Для компенсації недоліків FIFO була введена «буферизация» сторінок, які повинні писатися в файл підкачки. Принцип буферизації: перед вивантаженням сторінка позначається як кандидат на вивантаження, і якщо наступного разу до неї прийде звернення, вона не вивантажується, а йде в коней списку. Буфер невеликий, тому часті пробуксовки.
Для прискорення при сторінкової організації використовується кешування сторінкових дескріпторов.- для 8086 на 32 сторінкових дескриптора. Оскільки розмір сторінки 4 К. тобто швидке звернення до 128кб.
Плюс - мала фрагментація.
Мінус - час на формування адреси, а головне - програма розбивається на сторінки без урахування логіки, тому міжсторінкових перходе більш часті, ніж в сегментах.
сегментний спосіб | Сегментно-сторінковий спосіб.
Синхронізація процесів в мультизадачной ОС | Моделювання механізмів віртуальної пам'яті | Синхронізація паралельно взаємодіючих процесів. | Методи вирішення проблем синхронізації | Семафори Дейкстри. | Монітори Хоара. | Т і п з а д а ч і | Пам'ять і відображення, віртуальний адресний простір | С т р а т е г і я з а м о н е н і я |