подкачка linux с использованием большого количества каталогов таблицы страниц

Я читал книгу Мела Гормана о виртуальной памяти Linux. Я читал, что Linux поддерживает 3 уровня таблиц страниц: PGD, PMD и PTE. Если я не ошибаюсь, в более новой версии ядра есть четыре уровня таблиц страниц: PUD, но это не имеет значения. У меня резонный вопрос. Почему разработчик Linux выбирает 3 (или 4) уровня таблиц страниц вместо одного? Использование только одной глобальной таблицы страниц (я имею в виду глобальную таблицу страниц для каждого процесса) уменьшит объем ссылки на память.

Извините за мой английский, пожалуйста.


person Artem    schedule 20.12.2015    source источник
comment
Вам, вероятно, лучше обратиться в список рассылки Linux или любой другой механизм связи, который они используют; многие из нас на SO вряд ли будут знать обоснования каждой детали дизайна Linux.   -  person Colonel Thirty Two    schedule 20.12.2015
comment
Это полная противоположность вашему утверждению. Использование одноуровневой таблицы страниц потребует записи для каждой отдельной страницы (по крайней мере, указателя), которая будет размещена в этой единственной таблице. Имея несколько уровней таблицы страниц, кроме верхнего уровня, все остальные уровни могут оставаться незанятыми до тех пор, пока не будет использована эта часть адресного пространства.   -  person kaylum    schedule 21.12.2015


Ответы (1)


Это полная противоположность вашему утверждению. Использование одноуровневой таблицы страниц потребует записи для каждой отдельной страницы (по крайней мере, указателя), которая будет размещена в этой единственной таблице. Имея несколько уровней таблицы страниц, кроме верхнего уровня, все остальные уровни могут оставаться незанятыми до тех пор, пока не будет использована эта часть адресного пространства. - кайлум

person Community    schedule 27.11.2017