Вычислить биты таблицы страниц уровня 2 и записи таблицы страниц для каждого

  1. Таблица страниц уровня 1 занимает ровно одну страницу памяти.
  2. 32-битный виртуальный адрес
  3. Размер страницы 8кб
  4. PTE 4 байта

Сколько битов для каждого из полей?
Сколько записей в таблице уровня 1?
Сколько записей в таблице уровня 2?
Сколько страниц отображается в таблице страниц уровня 2?

Я попробовал и получил 13 за смещение, 11 за уровень 1 и 8 за уровень 2. Не знаю, как решить остальные.


person Christopher Laurence    schedule 20.05.2015    source источник


Ответы (1)


  • Поскольку таблица страниц уровня 1 имеет размер одной страницы, это означает, что в таблице страниц уровня 1 есть 8k / 4 -> 2k или 2^11 записей. Это соответствует вашему смещению выше.
  • Поскольку всего страниц 2^32 / 2^13 -> 2^19, то должно быть 2^19 записей страниц уровня 2, если сопоставлены все страницы.
  • Каждая запись в таблице страниц уровня 1 указывает на «страницу» таблицы страниц уровня 2, которая имеет 2^19 / 2^11 или 2^8 или 256 записей. Опять же, это соответствует вашему ответу выше.
person Craig S. Anderson    schedule 28.05.2015