#memory #operating-system #hardware
#память #операционная система #оборудование
Вопрос:
Насколько большой должна быть таблица страниц для страниц объемом 1 КБ и логического адресного пространства объемом 4 ГБ?
Этот вопрос неоднозначен: размер может быть количеством записей, которые он содержит для таблиц страниц (т. Е. Сколько записей он поддерживает?), а другой-размер в байтах этой структуры таблицы (сколько памяти она занимает?)
Я думаю, что если размер-это количество записей, то ответ будет 2^32/2^10 = 2^22 записи. Я не уверен, правильно ли это. Я также не уверен, как рассчитать размер в байтах.
Комментарии:
1. StackOverflow, похоже, получает множество вариантов этого вопроса; должно быть, это популярное домашнее задание. Интересно, не следует ли нам сделать для этого канонический вопрос, чтобы все остальное можно было закрыть как дубликат.
2. Я согласен, что это двусмысленно, с чем мы не можем помочь; вернитесь к тому, кто задал вопрос, и попросите их уточнить.
3. Определение размера в байтах требует, чтобы вы самостоятельно сделали некоторые разумные предположения и выводы. Как правило, какие данные должны содержаться в записи таблицы страниц? О том, сколько битов необходимо для этого? Итак, каков был бы разумный размер в байтах для каждой записи? Примите во внимание цель минимизации использования памяти, а также обеспечения эффективного доступа к записям. Вы также можете провести некоторое исследование того, как обычно это делают существующие реализации.
4. Расчет количества записей, безусловно, правильный; простое деление. И как только вы решите, какого размера должна быть каждая запись, просто умножьте.