在64位Linux中,内核占用了哪个地址空间?

时间:2013-08-19 09:26:56

标签: linux linux-kernel x86-64

64位Linux内核的地址空间是什么,也就是说,它使用的代码,堆栈,堆和数据段的地址范围是什么。

2 个答案:

答案 0 :(得分:14)

在64位Linux上,所有最高位设置为1的64位地址都保留给内核。换句话说,虚拟地址空间的上半部分。

有关详细信息,请参阅http://en.wikipedia.org/wiki/X86-64#Virtual_address_space_details

答案 1 :(得分:1)

PAGE_OFFSETULLONG_MAX是常量,其值等于内核内存的起始和结束地址。您可以直接在内核C模块中使用它们:

#define START_MEM   PAGE_OFFSET
#define END_MEM     ULLONG_MAX