Адресация / индексирование таблицы страниц

Я знаю, что мы можем использовать виртуальный адрес в качестве индекса для поиска в таблице страниц и получения физического адреса (точнее, номера страницы) из соответствующей записи. А расположение таблицы страниц в памяти обеспечивается базовым регистром таблицы страниц (PTBR).

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

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

Большое спасибо.


person chellya    schedule 17.08.2015    source источник
comment
возможный дубликат Можно ли выгрузить таблицу страниц?   -  person Am_I_Helpful    schedule 17.08.2015


Ответы (1)


Это хороший вопрос. Это почти проблема с курицей и яйцом. То, что вы спрашиваете, зависит от системы. Это делается в некоторых системах.

Я дам вам один путь. Существуют как системные, так и пользовательские таблицы страниц. Таблицы системных страниц относятся к физическим адресам. Таблицы страниц пользователей - это виртуальные адреса в системном пространстве.

Если вы ссылаетесь на системный адрес, вы используете таблицу страниц с физическим адресом. Если вы ссылаетесь на адрес пользователя, вы используете таблицу страниц с виртуальным адресом.

person user3344003    schedule 21.08.2015
comment
Спасибо, это объясняет. - person chellya; 22.08.2015