Linux инициализирует код ядра, данные ядра, код пользователя и данные пользователя до того же 0x00000000 (base) и 0xffffffff (limit). Они охватывают одно и то же линейное пространство. Как пейджинговый блок различает линейное пространство разных сегментов. Каждый сегмент имеет разную таблицу страниц.Линукс по отношению к физическому адресу
-1
A
ответ
1
По этой причине был разработан ELF standard (Исполняемый и связанный формат) (организация различных частей данных в один двоичный файл). Среди прочего, он имеет заголовок, который указывает, какие сегменты действительны.
Если ваш вопрос заключается в том, где, с точки зрения физического адреса, эти сегменты отображаются, тогда ответ заключается в том, что решает этот компоновщик. Существует множество статей и электронных книг, которые описывают функциональность компоновщика.
I reccommend Advanced C and C++ Compiling Книга, чтобы получить полную картину.
Похоже на книгу, которую я должен прочитать –