2014-10-14 2 views
-1

Linux инициализирует код ядра, данные ядра, код пользователя и данные пользователя до того же 0x00000000 (base) и 0xffffffff (limit). Они охватывают одно и то же линейное пространство. Как пейджинговый блок различает линейное пространство разных сегментов. Каждый сегмент имеет разную таблицу страниц.Линукс по отношению к физическому адресу

ответ

1

По этой причине был разработан ELF standard (Исполняемый и связанный формат) (организация различных частей данных в один двоичный файл). Среди прочего, он имеет заголовок, который указывает, какие сегменты действительны.

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

I reccommend Advanced C and C++ Compiling Книга, чтобы получить полную картину.

+0

Похоже на книгу, которую я должен прочитать –