Учебники

Операционная система — виртуальная память

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

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

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

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

  • Некоторые параметры и функции программы могут использоваться редко.

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

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

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

  • Программа больше не будет ограничена объемом доступной физической памяти.

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

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

Некоторые параметры и функции программы могут использоваться редко.

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

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

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

Программа больше не будет ограничена объемом доступной физической памяти.

Каждая пользовательская программа может занимать меньше физической памяти, одновременно может выполняться больше программ с соответствующим увеличением загрузки ЦП и пропускной способности.

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

Виртуальная память

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

Пейджинг по требованию

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

Пейджинг по требованию

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

преимущества

Ниже приведены преимущества пейджинга по требованию:

  • Большая виртуальная память.
  • Более эффективное использование памяти.
  • Нет ограничений по степени мультипрограммирования.

Недостатки

  • Количество таблиц и объем служебных данных процессора для обработки прерываний страниц больше, чем в случае простых методов постраничного управления.

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

Алгоритм замены страницы

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

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

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

Ссылочная строка

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

Для данного размера страницы нам нужно учитывать только номер страницы, а не весь адрес.

Если у нас есть ссылка на страницу p , то любые последующие ссылки на страницу p никогда не вызовут ошибку страницы. Страница p будет в памяти после первой ссылки; следующие ссылки не будут ошибаться.

Например, рассмотрим следующую последовательность адресов — 123,215,600,1234,76,96

Если размер страницы равен 100, тогда строка ссылки равна 1,2,6,12,0,0

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

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

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

Замените страницу, которая не будет использоваться в течение самого длительного периода времени. Используйте время, когда страница будет использоваться.

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

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

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

Этот алгоритм страдает от ситуации, в которой страница интенсивно используется на начальном этапе процесса, но затем никогда не используется снова.

Этот алгоритм основан на аргументе, что страница с наименьшим количеством, вероятно, только что была введена и еще не использовалась.