Для 32-битной ОС. Ядро Linux занимает старший логический адрес 3~4GB (и 2~4GB для Windows). Интересно, почему разработчик выбрал старший адрес вместо 0~1 ГБ для Linux, и поскольку ядро на самом деле имеет физический младший адрес, выбор низкого логического адреса приведет к более гармоничным логическим/физическим отношениям. почему бы нет?
Почему ядра используют старший логический адрес
Ответы (1)
До того, как PIC (позиционно-независимый код) стал популярен, существует множество статически связанных программ, которые можно загрузить только по указанному адресу, вероятно 0x400000
Для совместимости с этими программами ядро не должно получать адресное пространство. Таким образом, ядро расположено в высоком адресном пространстве 1G.
person
Zang MingJie
schedule
30.01.2018
objdump -h /bin/ls
- person Qiang   schedule 27.01.2018