Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб4.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
268.8 Кб
Скачать

Сторінковий розподіл

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

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

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

Віртуальна адреса

Номер віртуальної

сторінки (р)

Зміщення всередині

віртуальної сторінки (dv)

Таблиця сторінок

А трибути

Н омер фізичної сторінки

Номер фізичної

сторінки (n)

Зміщення всередині

фізичної сторінки (df)

Фізична адреса

Для кожного процесу ОС створює таблицю сторінокінформаційну структуру, що містить записи про всі віртуальні сторінки процесу.

Запис таблиці, названий дескриптором сторінки й включає наступну інформацію:

  • номер фізичної сторінки, у яку завантажена дана віртуальна сторінка;

  • ознака присутності, установлюється в одиницю, якщо віртуальна сторінка перебуває в оперативній пам'яті;

  • ознака модифікації сторінки, що встановлюється в одиницю щоразу, коли здійснюється запис за адресою у даній сторінці;

  • ознака звертання до сторінки, називана також бітом доступу, що встановлюється в одиницю при кожному звертанні за адресою у даній сторінці.

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

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

Віртуальна адреса при сторінковому розподілі може бути представлена у вигляді пари (р, dv), де p — порядковий номер віртуальної сторінки процесу (нумерація сторінок починається з 0), a dv — зміщення у межах віртуальної сторінки.

Фізична адреса також може бути представлена у вигляді пари (n, df), де n — номер фізичної сторінки, a df — зміщення у межах фізичної сторінки. Завдання підсистеми віртуальної пам’яті складається у перетворенні пари (р, dv) в (n, df).

Оскільки об’єм сторінки обирається як ступінь двійки 2k , зміщення у сторінці s може бути отримано простим відділенням k молодших розрядів у двійковому коді адреси, а номер сторінки визначає решта старших розрядів адреси.

Звідси випливає проста схема перетворення віртуальних адрес у фізичні.

Молодші розряди фізичної адреси, що відповідають зміщенню, знаходять переносом такої ж кількості молодших розрядів з віртуальної адреси. Старші розряди фізичної адреси, що відповідають номеру фізичної сторінки, визначаються з таблиці сторінок.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]