Пейджинг по запросу
редактировать
В компьютере операционных системах разбиение на страницы по запросу (в отличие от упреждающего разбиения на страницы) является методом управление виртуальной памятью. В системе, которая использует подкачку по запросу, операционная система копирует диск страницу в физическую память только в том случае, если сделана попытка получить к ней доступ и эта страница еще не находится в памяти (т. Е. Если страница возникает ошибка ). Отсюда следует, что процесс процесс начинает выполнение, когда ни одна из его страниц не находится в физической памяти, и многие сбои страниц будут происходить до тех пор, пока большая часть рабочего набора страниц процесса не окажется в физической памяти. Это пример техники отложенной загрузки.
Содержание
- 1 Базовая концепция
- 2 Преимущества
- 3 Недостатки
- 4 См. Также
- 5 Ссылки
Базовая концепция
Пейджинг по запросу следует, что страницы должны быть заносятся в память, если их требует исполняющий процесс. Это часто называют отложенной оценкой, поскольку только те страницы, которые требуются процессу, переключаются из вторичной памяти в основной памяти. Сравните это с чистой свопингом, когда вся память для процесса переключается из вторичного хранилища в основную память во время запуска процесса.
Обычно для выполнения этого процесса используется реализация таблицы страниц. Таблица страниц отображает логическую память в физическую память. В таблице страниц используется побитовый оператор , чтобы отметить, является ли страница действительной или недействительной. Действительная страница - это та, которая в настоящее время находится в основной памяти. Недопустимая страница - это страница, которая в настоящее время находится во вторичной памяти. Когда процесс пытается получить доступ к странице, обычно выполняются следующие шаги:
- Попытка доступа к странице.
- Если страница действительна (в памяти), продолжайте выполнение инструкции как обычно.
- Если страница недействительна, возникает прерывание ошибки страницы .
- Проверьте, является ли ссылка памяти действительной ссылкой на место во вторичной памяти. В противном случае процесс завершается (незаконный доступ к памяти ). В противном случае мы должны перейти на требуемую страницу.
- Запланировать операцию с диском для чтения нужной страницы в основную память.
- Перезапустить инструкцию, которая была прервана операцией. системная ловушка.
Преимущества
Требовать разбиения на страницы, в отличие от немедленной загрузки всех страниц:
- Загружает только те страницы, которые требуются исполняющему процессу.
- Поскольку в в основную память можно загружать больше процессов, что сокращает время переключения контекста, которое использует большие объемы ресурсов.
- При запуске программы происходит меньшая задержка загрузки, так как из вторичного хранилища осуществляется доступ к меньшему количеству информации и меньше информации переносится в основную память.
- Так как основная память дороже по сравнению с вторичной памятью, этот метод помогает значительно снизить стоимость материалов (BOM), например, в смартфонах. Эта функция была в ОС Symbian.
Недостатки
- Отдельные программы сталкиваются с дополнительной задержкой при первом обращении к странице.
- Недорогие, маломощные встроенные системы могут не иметь блока управления памятью, который поддерживает замену страниц.
- Управление памятью с помощью алгоритмов замены страниц становится немного сложнее.
- Возможные риски безопасности, включая уязвимость к атакам по времени ; см. Персиваль, Колин (13 мая 2005 г.). «Кэш отсутствует для развлечения и получения прибыли» (PDF). BSDCan 2005. (в частности, атака виртуальной памяти в разделе 2).
- Разброс, который может произойти из-за повторяющихся ошибок страницы.
См. Также
Ссылки
- Таненбаум, Эндрю С. Операционные системы: разработка и реализация (второе издание). Нью-Джерси: Прентис-Холл 1997.