5.Страница, к которой было обращение, является фиксированной,
но в настоящий момент она не загружена в память.
Первый и второй случаи представляют собой фатальные ошибки,
которые не могут быть исправлены или проигнорированы. У третьего
случая симптомы схожи со вторым (попытка записи в страницу, для
которой разрешено только чтение), но лечение этого случая
возможно. В этом случае страница копируется в новый физический
страничный блок, после чего для копии разрешается чтение/запись.
Таким образом, работает копирование при записи. Если совместно
используемая страница помечена как доступная для записи во всех
процессах, использующих ее, страничного прерывания при записи в
такую страницу не возникает и копии при записи не возникает также.
В четвертом случае требуется выделение нового страничного блока и
его отображение. Однако правила безопасности требуют, чтобы эта
страница содержала только нули, что не позволяет новому процессу
узнать, чем занимался предыдущий владелец страницы. Таким
образом, нужно найти страницу, содержащую одни нули или, если это
невозможно, нужно выделить другой страничный блок и обнулить его
на месте. Наконец, пятый случай представляет собой нормальное
страничное прерывание. Менеджер памяти находит страницу на
диске и считывает ее в память.
Отметим, что операционная система Windows 2000 не читает
отдельные страницы прямо с диска. Вместо этого считывается
несколько последовательных страниц, как правило, от 1 до 8, чтобы
минимизировать количество обращений к диску. Для страниц, со-
держащих код программы, используются серии из большего числа
страниц, чем при считывании страниц данных.
Замена страниц происходит следующим образом. Система
пытается поддерживать определенное количество свободных страниц
в памяти, чтобы, когда произойдет страничное прерывание, свободная
страница могла быть найдена немедленно, без необходимости сначала
записать несколько других страниц на диск. В результате применения
такой стратегии большинство страничных прерываний удовлетворя-
ются при помощи всего одной дисковой операции (чтения страницы с
диска), хотя иногда приходится выполнять две операции (запись на
диск «грязной» страницы, после чего с диска читается требуемая
страница). Конечно, страницы, пополняющие список свободных
страниц, должны откуда-то поступать. Поэтому настоящая работа
Пример практической реализации
операционной системы: Windows 2000