Виртуальная память в ОС: что такое, пейджинг по требованию, преимущества

Что такое виртуальная память?

Виртуальная память — это механизм хранения, который дает пользователю иллюзию наличия очень большого объема основной памяти. Это делается путем рассмотрения части вторичной памяти как основной памяти. В виртуальной памяти пользователь может хранить процессы большего размера, чем доступная основная память.

Поэтому вместо загрузки одного длинного процесса в основную память ОС загружает различные части более чем одного процесса в основную память. Виртуальная память в основном реализуется с помощью подкачки и сегментации спроса.

Зачем нужна виртуальная память?

Вот причины использования виртуальной памяти:

  • Всякий раз, когда вашему компьютеру не хватает места в физической памяти, он записывает то, что ему нужно запомнить, на жесткий диск в файле подкачки в качестве виртуальной памяти.
  • Если компьютер работает Windows требуется больше памяти/ОЗУ, поэтому при установке в систему он использует для этой цели небольшую часть жесткого диска.

Как работает виртуальная память?

В современном мире виртуальная память стала довольно распространенной. Он используется всякий раз, когда некоторые страницы необходимо загрузить в основную память для выполнения, а память недоступна для этих многих страниц.

Таким образом, в этом случае, вместо того, чтобы предотвращать попадание страниц в основную память, ОС ищет пространство ОЗУ, которое минимально используется в последнее время или которое не используется во вторичной памяти, чтобы освободить место для новых страниц в памяти. основная память.

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

Например

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

  • Затем ОС установит 250 МБ виртуальной памяти и будет использовать программу под названием Virtual Memory Manager (VMM) для управления этими 250 МБ.
  • Итак, в этом случае VMM создаст на жестком диске файл размером 250 МБ для хранения необходимой дополнительной памяти.
  • Теперь ОС перейдет к адресной памяти, поскольку она учитывает 300 МБ реальной памяти, хранящейся в ОЗУ, даже если доступно только 50 МБ.
  • Задача VMM — управлять 300 МБ памяти, даже если доступно всего 50 МБ реального пространства памяти.

Что такое пейджинг по требованию?

Пейджинг по запросу

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

Таким образом, когда происходит переключение контекста, ОС никогда не копирует страницы старой программы с диска или страницы новой программы в основную память. Вместо этого он начнет выполнение новой программы после загрузки первой страницы и выберет страницы программы, на которые имеются ссылки.

Если во время выполнения программы программа ссылается на страницу, которая может быть недоступна в основной памяти из-за ее замены, процессор считает это недопустимой ссылкой на память. Это происходит потому, что ошибка страницы и передача отправляют управление обратно из программы в ОС, которая требует сохранить страницу обратно в память.

Типы методов замены страниц

Вот несколько важных методов замены страниц.

  • FIFO
  • Оптимальный алгоритм
  • Замена страницы LRU

Замена страницы FIFO

FIFO (первым пришел — первым обслужен) — это простой метод реализации. В этом методе память выбирает для замены страницу, которая находилась в виртуальном адресе памяти дольше всего.

Особенности

  • Всякий раз, когда загружается новая страница, страница, недавно поступившая в память, удаляется. Таким образом, легко решить, какую страницу необходимо удалить, поскольку ее идентификационный номер всегда находится в стеке FIFO.
  • Самая старая страница в основной памяти — это та, которую следует выбрать для замены в первую очередь.

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

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

Особенности

  • Оптимальный алгоритм приводит к наименьшему количеству ошибок страниц. Этот алгоритм сложно реализовать.
  • Метод оптимального алгоритма замены страниц имеет самую низкую частоту ошибок страниц среди всех алгоритмов. Этот алгоритм существует, и его следует называть MIN или OPT.
  • Замените страницу, которая в отличие от использования в течение более длительного периода времени. Он использует только время, когда необходимо использовать страницу.

Замена страницы LRU

Полная форма LRU — это страница «Наименее недавно использованная». Этот метод помогает ОС определить использование страницы за короткий период времени. Этот алгоритм следует реализовать путем связывания счетчика с четной страницей.

Как это работает?

  • Для замены будет выбрана страница, которая дольше всего не использовалась в основной памяти.
  • Легко реализовать, вести список, заменять страницы, оглядываясь назад во времени.

Особенности

  • Метод замены LRU имеет наибольшее количество. Этот счетчик также называется регистрами старения, которые указывают их возраст и то, сколько связанных с ними страниц также следует ссылаться.
  • Для замены следует выбрать ту страницу, которая дольше всего не использовалась в основной памяти.
  • Он также ведет список и заменяет страницы, оглядываясь назад во времени.

Частота отказов

Частота отказов — это частота, с которой спроектированная система или компонент выходит из строя. Выражается в отказах в единицу времени. Обозначается греческой буквой? (лямбда).

Преимущества виртуальной памяти

Вот плюсы/преимущества использования виртуальной памяти:

  • Виртуальная память помогает набрать скорость, когда для выполнения программы требуется только определенный сегмент программы.
  • Это очень полезно при реализации мультипрограммной среды.
  • Это позволяет запускать больше приложений одновременно.
  • Это поможет вам объединить множество больших программ в программы меньшего размера.
  • Общие данные или код могут совместно использоваться памятью.
  • Процесс может стать даже больше, чем вся физическая память.
  • Данные/код следует считывать с диска всякий раз, когда это необходимо.
  • Код можно разместить в любом месте физической памяти, не требуя перемещения.
  • В основной памяти должно поддерживаться больше процессов, что повышает эффективность использования ЦП.
  • Каждая страница хранится на диске до тех пор, пока она не понадобится, после этого она будет удалена.
  • Это позволяет одновременно запускать больше приложений.
  • Конкретного ограничения на степень мультипрограммирования не существует.
  • Необходимо писать большие программы, поскольку доступное виртуальное адресное пространство больше по сравнению с физической памятью.

Недостатки виртуальной памяти

Вот недостатки/минусы использования виртуальной памяти:

  • Приложения могут работать медленнее, если система использует виртуальную память.
  • Скорее всего, переключение между приложениями займет больше времени.
  • Предлагает меньше места на жестком диске для вашего использования.
  • Это снижает стабильность системы.
  • Это позволяет более крупным приложениям запускаться в системах, которые не имеют достаточного количества физической оперативной памяти для их запуска.
  • Он не обеспечивает такой же производительности, как ОЗУ.
  • Это негативно влияет на общую производительность системы.
  • Займите место для хранения, которое в противном случае можно использовать для долгосрочного хранения данных.

Итого

  • Виртуальная память — это механизм хранения, который дает пользователю иллюзию наличия очень большой основной памяти.
  • Виртуальная память необходима всякий раз, когда на вашем компьютере недостаточно места в физической памяти.
  • Механизм подкачки по требованию очень похож на систему подкачки с подкачкой, где процессы хранятся во вторичной памяти, а страницы загружаются только по требованию, а не заранее.
  • Важные методы замены страниц: 1) FIFO 2) оптимальный алгоритм 3) замена страницы LRU.
  • В методе FIFO (первым пришел — первым вышел) память выбирает для замены страницу, которая находилась в виртуальном адресе памяти дольше всего.
  • Оптимальный метод замены страницы выбирает ту страницу для замены, для которой время до следующего обращения является самым продолжительным.
  • Метод LRU помогает ОС определить использование страницы за короткий период времени.
  • Виртуальная память помогает набрать скорость, когда для выполнения программы требуется только определенный сегмент программы.
  • Приложения могут работать медленнее, если система использует виртуальную память.