Linux страниц памяти 4 КБ против 8 КБ? - PullRequest
0 голосов
/ 11 июля 2020

Я читаю книгу Роберта Лава «Linux Разработка ядра», третье издание. В главе 12 «Управление памятью» (стр. 231) говорится:

Большинство 32-разрядных архитектур имеют страницы по 4 КБ, тогда как большинство 64-разрядных архитектур имеют страницы по 8 КБ.

Мои машины Intel x86_64 и виртуальные машины имеют страницы размером 4 КБ, и я не смог найти в Google никаких ссылок на страницы памяти 8 КБ на Linux. Существует концепция огромных страниц, но я не думаю, что это то, что имеет в виду книга, когда говорится о страницах размером 8 КБ на 64-битной версии.

Итак, это опечатка в книге, есть ли другие менее распространенные 64 -битные архитектуры, которые имеют страницы размером 8 КБ, или это изменилось со временем?

Обновление: Я просмотрел главу 19, «Переносимость», но все еще не понимаю цитируемое предложение. Например, в таблице 19.4 (стр. 392) приведена 21 архитектура, но только четыре из них имеют размер страницы 8 КБ. Только для alpha и cris 8 КБ является единственным поддерживаемым размером страницы, остальные дополнительно поддерживают 4 КБ и более. Четыре из 21 не кажутся мне большинством 64-битных архитектур .

Кроме того, текст явно говорит о x86-32, но не упоминает x86-64, а таблица 19.4 - это также не указано явно о 32/64 вариантах этих архитектур.

Мне кажется, что практически все архитектуры используют страницы размером 4 КБ как на 32-разрядных, так и на 64-разрядных версиях с некоторыми заметными исключениями, такими как alpha и cris. Кроме того, архитектуры h8300 и m68k могут дополнительно использовать 8 КБ. Так как же утверждение о «большинстве 64-битных архитектур» вписывается в эту картину?

...