как определиться с многоуровневыми таблицами страниц

У меня есть некоторые сомнения относительно того, как решить, сколько уровней таблицы страниц следует использовать в виртуальном адресном пространстве, если у нас есть 32-битное логическое адресное пространство, а размер страницы составляет 4 КБ?? (так как иногда в вопросах они брали только один уровень а иногда и таблица страниц второго уровня, так что это сбивает с толку)

Вопрос:

у нас есть 36-битный физический адрес и 32-битный виртуальный адрес с размером кадра страницы 4 КБ, каждая запись таблицы имеет размер 4 байта, трехуровневая таблица страниц используется для преобразования виртуального адреса в физический, где в виртуальном адресе используются биты 30-31 для индексации первого уровня, биты 21-29 для адресации второго уровня, биты 12-20 для адресации третьего уровня и биты 0-11 в качестве смещения на странице, так что должно быть нет. битов, необходимых для адресации таблицы страниц следующего уровня*(или страничного фрейма)* в записи таблицы страниц для таблиц страниц первого, второго и третьего уровня??

помогите заранее спасибо..


person nirmitkansal    schedule 16.08.2012    source источник
comment
У вас есть актуальный вопрос, проблема или задача? В настоящее время ваш вопрос слишком расплывчатый и рискует быть закрытым как ненастоящий вопрос или неконструктивный. Можно уточнить вопрос?   -  person Alexey Frunze    schedule 16.08.2012
comment
Я задал правильный вопрос.. @AlexeyFrunze   -  person nirmitkansal    schedule 20.08.2012
comment
Во-первых, обновленный вопрос радикально отличается от исходного вопроса и имеет другие номера. Вы должны формулировать свои вопросы таким образом, чтобы вам не пришлось их переписывать ИЛИ вам следует задавать разные вопросы по отдельности. Далее, похоже, вы сейчас описываете перевод страницы в 32-битном режиме x86 с помощью PAE (в исходном вопросе это был не-PAE). Это фиксированная схема с индексами таблиц, которые являются 2-битными, 9-битными и 9-битными (всего 20), как вы ее описываете. Вот и все. Я понятия не имею, что вы подразумеваете под таблицей страниц следующего уровня. Рядом с чем? Где?   -  person Alexey Frunze    schedule 21.08.2012
comment
на самом деле в Gate 2008 этот вопрос задают, он задает нет. битов, необходимых для адресации таблицы страниц следующего уровня (или страничного фрейма) в записи таблицы страниц первого, второго и третьего уровней таблиц страниц?? я не понимаю, как решить этот вопрос... @AlexeyFrunze   -  person nirmitkansal    schedule 21.08.2012
comment
Есть одна вещь, которую я не совсем понимаю. Когда таблица страниц индексируется с помощью 9-битного индекса, таблица имеет не более 512 доступных записей. С 4-байтовыми записями, которые дают вам 2 КБ доступных PTE на странице таблицы страниц. Это только половина размера страницы. Вы уверены, что в ваших цифрах нет ошибок или опечаток? Я ожидаю, что таблицы страниц будут занимать целое число страниц. Например, 32-разрядная схема PAE x86, которая очень похожа на то, что вы описываете в вопросе, имеет 8-байтовые PTE, а не 4-байтовые.   -  person Alexey Frunze    schedule 21.08.2012
comment
данные, которые я дал, такие же, как они были даны в Gate. Я понял, что размер страницы составляет 4 КБ. Следовательно, количество битов, необходимых для доступа к странице, составляет 12, размер физической памяти составляет 36 бит, а размер страницы составляет 4 КБ. поэтому количество битов, необходимых для адресации кадров физической памяти, равно 24. На втором и третьем уровнях 9 бит используются для индексации таблиц, а размер каждой записи составляет 4 байта. размер страниц второго и третьего уровня 2^9 * 4 = 2^11. Теперь после этого я не понимаю, как решить проблему.   -  person nirmitkansal    schedule 21.08.2012


Ответы (1)


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

Ответ может быть 24, 24 и 24 бита, и тогда каждая таблица страниц будет тратить половину страницы, на которой она хранится.

Или ответ может быть 25, 25, 24, но тогда каждая таблица страниц будет занимать меньше размера страницы.

Или это может быть более экстравагантный ответ, например 24,25,24 или 25,24,24.

В любом случае, это было бы очень странное расположение, недостаточно логичное, чтобы быть выбранным в качестве ответа.

См. обсуждение здесь.

person Alexey Frunze    schedule 21.08.2012
comment
в 24,24,24 в качестве ответа они взяли 24-битные записи в таблицах страниц первого и второго уровня, потому что на третьем уровне у нас есть 24-битные записи, но первый уровень даст адрес для таблицы второго уровня, так как мы можем взять 24-битные во-первых, 24 на третьем уровне оправданы, но во-вторых и в первом, как это оправдано - person nirmitkansal; 22.08.2012
comment
Я говорил вам, что есть несколько возможных ответов, и недостаточно информации, чтобы выбрать окончательного победителя. Просто не так много оснований для оправдания или решительной поддержки какого-либо одного ответа. - person Alexey Frunze; 22.08.2012