2015-03-12 3 views
1

Если пейджинг включен в ОС, таблица страниц используется для сопоставления виртуального адреса с фактическим физическим адресом. Чтобы быть более конкретным, рассмотрим 32-разрядную ОС Linux на X86, регистр cr3 имеет начальный адрес каталога таблицы страниц. Я думаю, это виртуальный адрес. Как CPU сопоставляет этот виртуальный адрес с физическим адресом каталога таблицы страниц в ОЗУ. Какая таблица страниц будет использоваться для перевода этого адреса?Как виртуальный адрес таблицы страниц преобразуется в фактический физический адрес?

ответ

3

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

0

Пейджинговый блок переводит линейные адреса в физические. Набор линейных адресов сгруппированы вместе для формирования страницы. Эти линейные адреса являются непрерывными по своей природе - пейджинговый блок отображает эти наборы непрерывной памяти в соответствующий набор смежных физических адресов, называемых рамками страниц. Обратите внимание, что пейджинговый блок разделен на рамы страниц с фиксированным размером. По этой причине, разбиение на страницах имеют следующие преимущества:

  • Право доступ определен для страницы, будет действителен для группы линейных адресов формирования страницы

  • Длина страницы длина рамки страницы

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

see to the link

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