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

Содержание:

Anonim

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

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

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

В этом руководстве по операционной системе вы узнаете:

  • Что такое виртуальная память?
  • Как работает виртуальная память?
  • Что такое пейджинг по запросу?
  • Типы методов замены страниц
  • Замена страницы FIFO
  • Оптимальный алгоритм
  • Замена страницы LRU
  • Преимущества виртуальной памяти
  • Недостатки виртуальной памяти

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

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

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

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

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

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

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

Например:

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

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

Что такое пейджинг по запросу?

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

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

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

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

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

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

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

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

Функции:

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

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

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

Функции:

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

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

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

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

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

Функции:

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

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

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

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

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

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

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

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

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

Резюме:

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