Иерархическая таблица страниц в подкачке памяти ОС

Сейчас я изучаю управление памятью в ОС

В структуре таблицы иерархических страниц, если есть 32-битный компьютер, 4KB из page-size а также 4B из page-entry размер.

почему адрес разделены на биты 10-10-12

я знаю 20 - 12, 12 немного offset значение на 4 Кбайт -> 2^12

Но почему 20 бит становятся 10-10

это невозможно до 11-9 или 12-8?

1 ответ

Потому что они используют двухуровневую таблицу страниц. 20-12 будет использовать только таблицу страниц 1-го уровня, и это потребляет память.

Первые 10 бит (0-9) соответствующие записи в PGDIR, Эта запись будет указывать на таблицу страниц, в этой таблице страниц вы получите доступ к записи, соответствующей вторым 10 битам. (10-19),

Мотивация:
Рассмотрим накладные расходы на хранение всех необходимых таблиц страниц для поддержки одного процесса.
#pages * size_entry = 2 ^ 20 * 4 = 4MB

Это много!.
Но что, если бы мы использовали таблицу страниц первого уровня, которая имеет 1024 записи, каждая из которых указывает на дополнительные 1024 таблицы страниц? это 1024*1024 = 1M записей, как и раньше.

Какова нагрузка на память сейчас? 1K*4 + 1*4 = 4KB + 4B ~= 4KB

Другие вопросы по тегам