Віртуальна пам’ять в ОС: що таке, виклик попиту, переваги

Зміст:

Anonim

Що таке віртуальна пам’ять?

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

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

У цьому посібнику з операційної системи ви дізнаєтесь:

  • Що таке віртуальна пам’ять?
  • Як працює віртуальна пам’ять?
  • Що таке пейджингова сторінка?
  • Типи способів заміни сторінки
  • Заміна сторінки FIFO
  • Оптимальний алгоритм
  • Заміна сторінки LRU
  • Переваги віртуальної пам'яті
  • Недоліки віртуальної пам'яті

Навіщо потрібна віртуальна пам’ять?

Ось причини використання віртуальної пам'яті:

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

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

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

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

Давайте розберемося в управлінні віртуальною пам'яттю за допомогою одного прикладу.

Наприклад:

Припустимо, що ОС вимагає 300 Мб пам’яті для зберігання всіх запущених програм. Однак в даний час в оперативній пам'яті зберігається лише 50 МБ фізичної пам'яті.

  • Потім ОС встановить 250 МБ віртуальної пам'яті і використовуватиме програму, яка називається Virtual Memory Manager (VMM), для управління цими 250 МБ.
  • Отже, у цьому випадку VMM створить на жорсткому диску файл розміром 250 МБ для зберігання необхідної додаткової пам'яті.
  • Тепер ОС перейде до адресної пам’яті, оскільки вона враховує 300 МБ реальної пам’яті, що зберігається в оперативній пам’яті, навіть якщо доступно лише 50 МБ місця.
  • Завдання VMM - керувати пам’яттю 300 Мб, навіть якщо доступно лише 50 Мб реального місця.

Що таке пейджингова сторінка?

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

Отже, коли відбувається перемикання контексту, ОС ніколи не копіює будь-яку сторінку старої програми з диска або будь-яку зі сторінок нової програми в основну пам’ять. Натомість він почне виконувати нову програму після завантаження першої сторінки та отримує сторінки програми, на які є посилання.

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

Типи методів заміни сторінки

Ось кілька важливих методів заміни сторінки

  • FIFO
  • Оптимальний алгоритм
  • Заміна сторінки LRU

Заміна сторінки FIFO

FIFO (First-in-first-out) - простий спосіб реалізації. У цьому методі пам’ять вибирає сторінку для заміни, яка найдовше знаходилась у віртуальній адресі пам’яті.

Особливості:

  • Щоразу, коли завантажується нова сторінка, вона нещодавно потрапляє в пам’ять, видаляється. Отже, легко вирішити, яку сторінку потрібно видалити, оскільки її ідентифікаційний номер завжди знаходиться в стеку FIFO.
  • Найстаріша сторінка в основній пам'яті - це та, яку слід обрати для заміни спочатку.

Оптимальний алгоритм

Оптимальний метод заміни сторінки вибирає ту сторінку для заміни, для якої час до наступного посилання є найдовшим.

Особливості:

  • Оптимальний алгоритм призводить до найменшої кількості помилок сторінки. Цей алгоритм важко реалізувати.
  • Оптимальний метод алгоритму заміни сторінки має найнижчу частоту помилок сторінки з усіх алгоритмів. Цей алгоритм існує, і його слід називати MIN або OPT.
  • Замініть сторінку, яку не хочете використовувати протягом тривалого періоду часу. Він використовує лише час, коли потрібно використовувати сторінку.

Заміна сторінки LRU

Повна форма LRU - це сторінка Найменше нещодавно використаних. Цей метод допомагає ОС знаходити використання сторінки протягом короткого періоду часу. Цей алгоритм повинен бути реалізований шляхом прив’язки лічильника до парної сторінки.

Як це працює?

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

Особливості:

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

Частота несправностей

Частота несправностей - це частота, з якою спроектована система або компонент виходять з ладу. Це виражається у відмовах за одиницю часу. Позначається грецькою літерою λ (лямбда).

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

Ось плюси / переваги використання віртуальної пам'яті:

  • Віртуальна пам’ять допомагає набирати швидкість, коли для її виконання потрібен лише певний сегмент програми.
  • Це дуже корисно при впровадженні середовища багатопрограмування.
  • Це дозволяє запускати більше програм одночасно.
  • Це допомагає вмістити багато великих програм у менші програми.
  • Загальні дані або код можуть спільно використовувати пам'ять.
  • Процес може стати навіть більшим, ніж вся фізична пам’ять.
  • Дані / код слід читати з диска, коли це потрібно.
  • Код можна розмістити в будь-якому місці фізичної пам'яті, не вимагаючи переміщення.
  • Більше процесів слід підтримувати в основній пам'яті, що збільшує ефективне використання центрального процесора.
  • Кожна сторінка зберігається на диску до тих пір, поки не буде потрібно після цього, вона буде видалена.
  • Це дозволяє запускати більше додатків одночасно.
  • Не існує конкретного обмеження ступеня мультипрограмування.
  • Слід писати великі програми, оскільки доступний віртуальний адресний простір більше, ніж фізична пам’ять.

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

Ось недоліки / мінуси використання віртуальної пам'яті:

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

Короткий зміст:

  • Віртуальна пам’ять - це механізм зберігання, який створює у користувача ілюзію дуже великої основної пам’яті.
  • Віртуальна пам'ять потрібна, коли на вашому комп'ютері немає місця у фізичній пам'яті
  • Механізм пейджингового пошуку дуже схожий на пейджингову систему з підкачками, де процеси, що зберігаються у вторинній пам’яті та на сторінках, завантажуються лише на вимогу, а не заздалегідь.
  • Важливими методами заміни сторінки є 1) FIFO 2) Оптимальний алгоритм 3) Заміна сторінки LRU.
  • У методі FIFO (First-in-first-out) пам'ять вибирає сторінку для заміни, яка найдовше знаходилась у віртуальній адресі пам'яті.
  • Оптимальний метод заміни сторінки вибирає ту сторінку для заміни, для якої час до наступного посилання є найдовшим.
  • Метод LRU допомагає ОС знаходити використання сторінки протягом короткого періоду часу.
  • Віртуальна пам’ять допомагає набирати швидкість, коли для її виконання потрібен лише певний сегмент програми.
  • Програми можуть працювати повільніше, якщо система використовує віртуальну пам’ять.