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

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

Основная концепция

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

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

  • Попытка получить доступ к странице.
  • Если страница действительна (в памяти), продолжайте обработку инструкции как обычно.
  • Если страница недействительна, тогда ловушка ошибки страницы происходит.
  • Проверьте, является ли ссылка на память действительной ссылкой на место во вторичной памяти. Если нет, процесс прекращается (незаконный доступ к памяти). В противном случае мы должны страница в требуемая страница.
  • Запланируйте операцию с диском для чтения нужной страницы в основную память.
  • Перезапустите инструкцию, которая была прервана прерыванием операционной системы.

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

Требовать разбиение на страницы вместо немедленной загрузки всех страниц:

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

Недостатки

  • Отдельные программы сталкиваются с дополнительной задержкой при первом обращении к странице.
  • Недорогой, маломощный встроенные системы может не иметь блок управления памятью который поддерживает замену страниц.
  • Управление памятью с помощью алгоритмы замены страниц становится немного сложнее.
  • Возможные риски безопасности, включая уязвимость время атаки; увидеть Персиваль, Колин (13 мая 2005 г.). «Кэш отсутствует для развлечения и наживы» (PDF). BSDCan 2005. (в частности, атака виртуальной памяти в разделе 2).
  • Взбучка что может произойти из-за повторяющихся ошибок страниц.

Смотрите также

использованная литература

  • Таненбаум, Эндрю С. Операционные системы: разработка и реализация (второе издание). Нью-Джерси: Прентис-Холл 1997.