трансляция виртуальных адресов ядра - PullRequest
7 голосов
/ 28 января 2011

Учитывая Linux и 32-битную архитектуру x86, 3: 1 делится на доступное 4 ГБ адресного пространства. Пользовательское пространство выделяется 0-3 Гб, а 3-4 Гб выделяется ядру. Как виртуальный адрес, который больше 3Gb и, следовательно, лежит в адресном пространстве ядра, преобразуется в физический адрес? Будут ли таблицы страниц в картинке?

1 Ответ

5 голосов
/ 28 января 2011

В книге Мела Гормана есть некоторая информация Понимание диспетчера виртуальной памяти Linux .

Краткий ответ: Да, ядро ​​настраивает таблицы страниц для преобразования физического адреса 0 в виртуальный адрес3 ГиБ.(Раздел 3.7.1).Это включает в себя физическое местоположение, в которое было загружено ядро ​​(обычно 1 МБ на x86).

...