logo

Пейджінг в ОС (операційна система)

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

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

char + int у java

Одна сторінка процесу повинна бути збережена в одному з кадрів пам'яті. Сторінки можна зберігати в різних місцях пам’яті, але пріоритетом завжди є пошук суміжних рамок або дірок.

Сторінки процесу переносяться в основну пам’ять лише тоді, коли вони потрібні, інакше вони зберігаються у вторинній пам’яті.

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


Пейджинг ОС

приклад

Розглянемо розмір основної пам’яті 16 Кб, а розмір кадру – 1 КБ, тому основна пам’ять буде розділена на набір із 16 кадрів по 1 КБ кожен.

У системі є 4 процеси: P1, P2, P3 і P4 по 4 КБ кожен. Кожен процес ділиться на сторінки по 1 КБ кожна, щоб одну сторінку можна було зберегти в одному кадрі.

Спочатку всі кадри порожні, тому сторінки процесів зберігатимуться безперервно.

уцінка закреслена

Фрейми, сторінки та відображення між ними показано на зображенні нижче.


Приклад підкачки ОС

Припустимо, що P2 і P4 переходять у стан очікування через деякий час. Тепер 8 фреймів стають порожніми, тому на це порожнє місце можна завантажити інші сторінки. Процес P5 розміром 8 КБ (8 сторінок) очікує в черзі готовності.

fmovies Індія

Враховуючи той факт, що ми маємо 8 несуміжних кадрів, доступних у пам’яті, а підкачка забезпечує гнучкість зберігання процесу в різних місцях. Тому ми можемо завантажити сторінки процесу P5 замість P2 і P4.


Приклад підкачки ОС 2

Блок керування пам'яттю

Метою блоку керування пам’яттю (MMU) є перетворення логічної адреси у фізичну адресу. Логічна адреса — це адреса, згенерована процесором для кожної сторінки, тоді як фізична адреса — це фактична адреса кадру, де буде зберігатися кожна сторінка.

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

Логічна адреса складається з двох частин.

імпорт ант
  1. Номер сторінки
  2. Зсув

Блок керування пам'яттю ОС повинен перетворити номер сторінки в номер кадру.

приклад

Розглядаючи зображення вище, припустимо, що ЦП вимагає 10-е слово 4-ї сторінки процесу P3. Оскільки сторінка номер 4 процесу P1 зберігається у кадрі номер 9, тому 10-те слово 9-го кадру буде повернуто як фізична адреса.