Что такое виртуальная память?
Виртуальная память - это механизм хранения, который предлагает пользователю иллюзию наличия очень большой основной памяти. Это делается путем обработки части вторичной памяти как основной памяти. В виртуальной памяти пользователь может хранить процессы большего размера, чем доступная основная память.
Следовательно, вместо того, чтобы загружать один длинный процесс в основную память, ОС загружает различные части более чем одного процесса в основную память. Виртуальная память в основном реализуется с помощью подкачки по запросу и сегментации по запросу.
В этом руководстве по операционной системе вы узнаете:
- Что такое виртуальная память?
- Как работает виртуальная память?
- Что такое пейджинг по запросу?
- Типы методов замены страниц
- Замена страницы 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 помогает ОС обнаружить использование страницы за короткий период времени.
- Виртуальная память помогает набрать скорость, когда для выполнения программы требуется только определенный сегмент программы.
- Приложения могут работать медленнее, если система использует виртуальную память.