1

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

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

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

ответ

0

Биты в таблице страниц различаются между системами. Тем не менее, существует три состояния, в которые должна быть включена запись в табличной таблице:

  1. Запись соответствует действительной физической кадре страницы (все готово к работе).
  2. Запись действительна, но в настоящее время не отображается физическая страница (доступ вызывает ошибку страницы)
  3. Запись недопустима (т. Е. Страница не была отображена в адресное пространство).

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

Чтобы проиллюстрировать состояние № 3, компоновщики заставляют первую страницу не отображаться при загрузке программы, чтобы улавливать ссылки на нулевые указатели.

 Смежные вопросы

  • Нет связанных вопросов^_^