Может ли ошибка страницы быть сгенерирована из-за отсутствия страницы внутренней таблицы страниц?

Рассмотрим двухуровневую подкачку страниц с процессом P, внутренней таблицей страниц PTi и внешней таблицей страниц PTo.

Теперь мы знаем, что P и PTi разделены на разные страницы, но PTo находится только на одной странице.

Итак, чтобы запустить процесс P, нам нужно несколько страниц P, несколько страниц PTi и полный PTo в основной памяти.

Если PTi запрашивает страницу P, которой нет в основной памяти, то это ОШИБКА СТРАНИЦЫ, и эта конкретная страница P будет загружена.

Теперь вопрос:

Если PTo запрашивает страницу PTi, которой нет в основной памяти, то это тоже ОШИБКА СТРАНИЦЫ?

Пожалуйста, объясни.

Если ДА, то можно ли его распространить на все k-страничные таблицы (для подкачки k-го уровня)

Если нет, то почему?


person Surbhi Jain    schedule 17.05.2019    source источник
comment
Я здесь запутался.   -  person user3344003    schedule 18.05.2019
comment
Пожалуйста, объясните почему   -  person Surbhi Jain    schedule 18.05.2019
comment
Как вы определяете внутреннюю и внешнюю таблицу страниц? Ваша система вообще поддерживает разбиение на страницы таблиц страниц? Некоторые делают. Некоторые этого не делают. Если они это сделают, им нужен механизм, чтобы избежать проблемы с курицей и яйцом.   -  person user3344003    schedule 18.05.2019


Ответы (1)


В таблицах страниц с прямым отображением [x86, arm] будут сгенерированы ошибки yes, если обход таблицы страниц обнаружит отсутствующую таблицу страниц. Обычно вам нужна таблица самых верхних (наиболее значимых битов), но любая из промежуточных таблиц может отсутствовать.

person mevets    schedule 18.05.2019