Пейджінг Operaсистема (ОС): що таке, переваги, приклад
Що таке пейджинг в ОС?
Пейджинг це механізм зберігання, який дозволяє ОС отримувати процеси з вторинного сховища в основну пам’ять у вигляді сторінок. У методі підкачки основна пам'ять ділиться на невеликі блоки фізичної пам'яті фіксованого розміру, які називаються кадрами. Розмір рамки має бути таким же, як і сторінки, щоб максимально використовувати основну пам’ять і уникнути зовнішньої фрагментації. Пейджинг використовується для швидшого доступу до даних, і це логічна концепція.
Приклад підкачки в ОС
Наприклад, якщо розмір основної пам’яті становить 16 КБ, а розмір кадру – 1 КБ. Тут основна пам'ять буде розділена на колекцію з 16 кадрів по 1 КБ кожен.
У системі є 4 окремі процеси: A1, A2, A3 і A4 по 4 КБ кожен. Тут усі процеси розділені на сторінки по 1 Кб кожна, щоб операційна система могла зберігати одну сторінку в одному фреймі.
На початку процесу всі кадри залишаються порожніми, тому всі сторінки процесів зберігатимуться безперервно.
У цьому прикладі ви бачите, що через деякий час A2 і A4 переходять у стан очікування. Таким чином, вісім фреймів стають порожніми, і тому інші сторінки можуть бути завантажені в ці порожні блоки. Процес А5 розміром 8 сторінок (8 КБ) чекає в черзі готовності.
У цьому прикладі ви бачите, що в пам’яті доступні вісім несуміжних кадрів, а сторінковий перегляд забезпечує гнучкість збереження процесу в різних місцях. Це дозволяє нам завантажувати сторінки процесу A5 замість A2 і A4.
Що таке захист підкачки?
Процес пейджінгу має бути захищений за допомогою концепції вставки додаткового біта, що називається дійсний/недійсний біт. Пейджинг Захист пам'яті під час пейджінгу досягається шляхом зв'язування бітів захисту з кожною сторінкою. Ці біти пов’язані з кожним записом таблиці сторінок і визначають захист на відповідній сторінці.
Переваги пейджінгу
Ось переваги використання методу пейджінгу:
- Простий у використанні управління пам'яттю алгоритм
- Немає необхідності у зовнішній фрагментації
- Перемикатися між сторінками однакового розміру та рамками сторінок легко.
Недоліки пейджінгу
Ось недоліки/мінуси пейджінгу:
- Може спричинити внутрішню фрагментацію
- Таблиці сторінок споживають додаткову пам'ять.
- Багаторівнева сторінка може призвести до накладних витрат на посилання на пам’ять.
Що таке сегментація?
Метод сегментації працює майже так само, як розбиття сторінок, лише різниця між ними полягає в тому, що сегменти мають змінну довжину, тоді як у методі розбиття сторінок сторінки завжди мають фіксований розмір.
Програмний сегмент включає основну функцію програми, структури даних, службові функції тощо. ОС підтримує таблицю відображення сегментів для всіх процесів. Він також містить список вільних блоків пам’яті разом із їх розміром, номерами сегментів і місцями пам’яті в основній пам’яті або віртуальна пам'ять.
Переваги сегментації
Ось плюси/переваги сегментації
- Пропонуйте захист у межах сегментів
- Ви можете досягти спільного використання за допомогою сегментів, які посилаються на кілька процесів.
- Не забезпечує внутрішньої фрагментації
- Сегментні таблиці використовують менше пам'яті, ніж сторінкові
Недоліки сегментації
Ось мінуси/недоліки сегментації
- У методі сегментації процеси завантажуються/видаляються з основної пам’яті. Таким чином, вільний простір пам’яті розділено на маленькі частини, що може створити проблему зовнішньої фрагментації
- Дорогий алгоритм керування пам'яттю
Підсумки
- Пейджінг — це механізм зберігання, який дозволяє OS для отримання процесів із вторинного сховища в основну пам’ять у вигляді сторінок.
- Процес пейджінгу має бути захищений за допомогою концепції вставки додаткового біта, що називається дійсний/недійсний біт.
- Найбільша перевага підкачки полягає в тому, що це простий у використанні алгоритм керування пам'яттю
- Пейджінг може спричинити внутрішню фрагментацію
- Метод сегментації працює майже так само, як розбиття сторінок, лише різниця між ними полягає в тому, що сегменти мають змінну довжину, тоді як у методі розбиття сторінок сторінки завжди мають фіксований розмір.
- Ви можете досягти спільного використання за допомогою сегментів, які посилаються на кілька процесів.
- Сегментація є дорогим алгоритмом керування пам'яттю