2012-04-15 2 views
1

У меня есть эта проблема для домашней работы, с которой мне трудно найти ответ. Интересно, может ли кто-нибудь здесь сказать мне, правильно ли я нахожусь на моих расчетах или если я уйду. Я не ищу, чтобы кто-то дал мне ответ. Любая помощь, указывающая мне в правильном направлении, если мой ответ неверен, будет очень признателен. Вот проблема:Поиск максимального размера таблицы страниц

Виртуальное адресное пространство процесса имеет размер 2 МБ. Предположим, что размер страницы составляет 4 КБ. Каков максимальный размер таблицы страниц в памяти, если для каждой записи таблицы страниц требуется 2 байта?

Логика моего расчета состоит в том, что каждая страница имеет размер 4096 байт (4 КБ), а каждая запись в таблице страниц - 2 байта. Таким образом, каждая страница по существу занимает 4098 байт памяти. Если я разделяю 2 МБ на общий объем памяти для каждой страницы, у меня может быть не более 511 страниц в памяти. (512-я страница - это таблица страниц). Для каждой страницы требуется запись в таблице страниц, поэтому 511 страниц * 2 байта = 1022 байта - это мой максимальный размер таблицы страниц для этой проблемы.

Я в любом случае на правильном пути здесь? Или я могу по-другому вычислить это? Любые советы или предложения будут очень признательны. Заранее спасибо.

+1

спросил раньше, прибл. 1 год назад! –

+1

Не мной ...... – AJM

+0

Я не сказал, что это был ты! Попробуйте искать ... –

ответ

1

Таблица страниц не считается частью виртуального пространства, а является средством ОСУЩЕСТВЛЕНИЯ виртуальной памяти, поэтому не используйте ее в подсчете страниц.

+0

OK. Итак, у меня было бы 512 страниц, а таблица страниц была бы 1 КБ? – AJM

+0

Я просто не знал, правильно ли я сделал вычисления. Наверное, я просто ищу подтверждение, правильно ли я нахожусь на правильном пути. Спасибо за ваш вклад. – AJM