Віртуальна пам’ять — це схема зберігання, яка створює у користувача ілюзію наявності дуже великої основної пам’яті. Це робиться шляхом обробки частини вторинної пам’яті як основної.
У цій схемі користувач може завантажувати процеси більшого розміру, ніж доступна основна пам’ять, маючи ілюзію, що пам’ять доступна для завантаження процесу.
Замість того, щоб завантажувати один великий процес в основну пам’ять, операційна система завантажує різні частини більш ніж одного процесу в основну пам’ять.
Завдяки цьому буде збільшено ступінь мультипрограмування, а отже, і використання ЦП.
Як працює віртуальна пам'ять?
У сучасному слові віртуальна пам'ять стала досить поширеною в наші дні. У цій схемі, щоразу, коли деякі сторінки потрібно завантажити в основну пам’ять для виконання, а пам’ять недоступна для такої кількості сторінок, тоді в такому випадку замість того, щоб зупинити введення сторінок в основну пам’ять, ОС шукає область RAM, яка останнім часом найменше використовується або на яку немає посилань, і скопіюйте її у вторинну пам’ять, щоб звільнити місце для нових сторінок в основній пам’яті.
Оскільки вся ця процедура відбувається автоматично, комп’ютер відчуває, що він має необмежену оперативну пам’ять.
Пейджинг на вимогу
Пейджинг за запитом — популярний метод керування віртуальною пам'яттю. Під час підкачки сторінок сторінки процесу, які найменше використовуються, зберігаються у вторинній пам’яті.
Сторінка копіюється в основну пам'ять, коли надходить запит або виникає помилка сторінки. Існують різні алгоритми заміни сторінок, які використовуються для визначення сторінок, які буде замінено. Далі ми розглянемо кожну з них докладніше.
Знімок системи керування віртуальною пам'яттю
Припустимо, що 2 процеси, P1 і P2, містять по 4 сторінки кожен. Розмір кожної сторінки становить 1 КБ. Основна пам'ять містить 8 кадрів по 1 Кб кожен. ОС знаходиться в перших двох розділах. У третій частині 1вулсторінка P1 зберігається, а інші кадри також показані як заповнені різними сторінками процесів в основній пам’яті.
Таблиці сторінок обох сторінок мають розмір 1 Кб кожна, тому їх можна помістити в один кадр кожна. Таблиці сторінок обох процесів містять різну інформацію, яка також показана на зображенні.
ЦП містить регістр, який містить базову адресу таблиці сторінок, яка дорівнює 5 у випадку P1 і 7 у випадку P2. Цю базову адресу таблиці сторінок буде додано до номера сторінки логічної адреси, коли мова йде про доступ до фактичного відповідного запису.
Переваги віртуальної пам'яті
- Ступінь мультипрограмування буде збільшено.
- Користувач може запускати велику програму з меншою реальною оперативною пам'яттю.
- Немає необхідності купувати додаткові модулі оперативної пам'яті.
Недоліки віртуальної пам'яті
- Система стає повільнішою, оскільки заміна вимагає часу.
- Перемикання між програмами займає більше часу.
- Користувач матиме менше місця на жорсткому диску для його використання.