Ошибка страницы в операционной системе (неверная адресация или страница не в основной памяти)

Я читаю о страницах сбоев в поисковом запросе. сбой страницы происходит, когда 1) доступ к памяти недопустим 2) страница действительна, но отсутствует в основной памяти

Я прочитал, что с битом valid-invalid вы можете определить, находится ли память в логическом адресном пространстве, потому что соответствующий бит будет помечен как недействительный.

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

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

1 ответ

В пейджинге по требованию, если valid-invalid bit установлен (1), это означает, что связанный page и легально и в памяти. Однако если valid-invalid bit не установлен (0), это означает следующее:

  1. Либо page не является действительным. Это означает, что страница не обрабатывается logical address space, ИЛИ ЖЕ
  2. Соответствующий page находится на disk,

Недопустимый доступ к странице вызывает ловушку сбоя страницы. И мы справляемся с этим следующим образом. Цитирование из принципов операционных систем от Silberschatz, Galvin, Gagne

  1. Мы проверяем внутреннюю таблицу (обычно хранящуюся с блоком управления процессом) для этого процесса, чтобы определить, была ли ссылка действительной или недействительной памятью доступа.
  2. Если ссылка была недействительной, мы прекращаем процесс. Если она была действительной, но мы еще не добавили эту страницу, мы теперь ее размещаем.
  3. Мы находим свободный кадр (например, беря его из списка свободных кадров).
  4. Мы планируем операцию с диском для чтения нужной страницы во вновь выделенный фрейм.
  5. Когда чтение с диска завершено, мы изменяем внутреннюю таблицу, хранящуюся в процессе, и таблицу страниц, чтобы указать, что страница теперь находится в памяти.
  6. Мы перезапускаем инструкцию, которая была прервана ловушкой. Теперь процесс может получить доступ к странице, как будто она всегда была в памяти.
Другие вопросы по тегам