Учебники

28) Виртуальная память в ОС

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

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

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

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

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

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

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

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

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

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

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

Например:

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

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

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

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

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

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

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

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

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

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

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

Особенности:

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

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

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

Особенности:

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

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

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

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

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

Особенности:

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

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

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

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

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

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

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

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

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

Резюме:

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