logo

Що таке віртуальна пам'ять в ОС (операційна система)?

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

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

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

Завдяки цьому буде збільшено ступінь мультипрограмування, а отже, і використання ЦП.

Як працює віртуальна пам'ять?

У сучасному слові віртуальна пам'ять стала досить поширеною в наші дні. У цій схемі, щоразу, коли деякі сторінки потрібно завантажити в основну пам’ять для виконання, а пам’ять недоступна для такої кількості сторінок, тоді в такому випадку замість того, щоб зупинити введення сторінок в основну пам’ять, ОС шукає область RAM, яка останнім часом найменше використовується або на яку немає посилань, і скопіюйте її у вторинну пам’ять, щоб звільнити місце для нових сторінок в основній пам’яті.

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

Пейджинг на вимогу

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

Сторінка копіюється в основну пам'ять, коли надходить запит або виникає помилка сторінки. Існують різні алгоритми заміни сторінок, які використовуються для визначення сторінок, які буде замінено. Далі ми розглянемо кожну з них докладніше.

Знімок системи керування віртуальною пам'яттю

Припустимо, що 2 процеси, P1 і P2, містять по 4 сторінки кожен. Розмір кожної сторінки становить 1 КБ. Основна пам'ять містить 8 кадрів по 1 Кб кожен. ОС знаходиться в перших двох розділах. У третій частині 1вулсторінка P1 зберігається, а інші кадри також показані як заповнені різними сторінками процесів в основній пам’яті.

Таблиці сторінок обох сторінок мають розмір 1 Кб кожна, тому їх можна помістити в один кадр кожна. Таблиці сторінок обох процесів містять різну інформацію, яка також показана на зображенні.

ЦП містить регістр, який містить базову адресу таблиці сторінок, яка дорівнює 5 у випадку P1 і 7 у випадку P2. Цю базову адресу таблиці сторінок буде додано до номера сторінки логічної адреси, коли мова йде про доступ до фактичного відповідного запису.


Віртуальна пам'ять ОС

Переваги віртуальної пам'яті

  1. Ступінь мультипрограмування буде збільшено.
  2. Користувач може запускати велику програму з меншою реальною оперативною пам'яттю.
  3. Немає необхідності купувати додаткові модулі оперативної пам'яті.

Недоліки віртуальної пам'яті

  1. Система стає повільнішою, оскільки заміна вимагає часу.
  2. Перемикання між програмами займає більше часу.
  3. Користувач матиме менше місця на жорсткому диску для його використання.