Для чего используется более высокий адрес виртуальной памяти (отображение ядра) процесса?

Посмотрите отличный ответ от @filipe -brandenburger на этом сайте.

debian :несогласованный порядок чтения файлов конфигурации сеанса bash

1
07.05.2020, 17:57
1 ответ

Он используется для разных целей, в том числе для отображения бинарного файла ядра. Карта x86 -64 задокументирована в ядре и показывает отображение текста ядра (, соответствующееvmlinuz)по адресу 0xffffffff80000000. Другие варианты использования включают выделение памяти ядром и полное отображение физической памяти.

Адресное пространство, выделенное для ядра, не отображается в картах процессов, за исключением устаревшей карты vsyscall. На самом деле с KPTI в пользовательском режиме подавляющая часть ядра вообще не отображается в памяти.

См. также Пространство ядра в адресном пространстве зарезервировано для нас чем? и другие связанные с ним вопросы.

0
28.04.2021, 23:15

Теги

Похожие вопросы