64位Linux内核的地址空间是什么,也就是说,它使用的代码,堆栈,堆和数据段的地址范围是什么。
答案 0 :(得分:14)
在64位Linux上,所有最高位设置为1的64位地址都保留给内核。换句话说,虚拟地址空间的上半部分。
有关详细信息,请参阅http://en.wikipedia.org/wiki/X86-64#Virtual_address_space_details
答案 1 :(得分:1)
PAGE_OFFSET
和ULLONG_MAX
是常量,其值等于内核内存的起始和结束地址。您可以直接在内核C模块中使用它们:
#define START_MEM PAGE_OFFSET
#define END_MEM ULLONG_MAX