内核空间和用户空间虚拟地址划分

时间:2016-02-20 13:17:27

标签: linux linux-kernel linux-device-driver

内核空间和用户空间地址范围是否始终按1:3的比例划分。

例如,如果我有4gb地址空间和4gb物理ram

比内核获得1gb而用户空间获得3gb(假设)!

所以,如果我有2gb ram而不是以下情况?

内核:512MB 用户地址范围:0-1536mb用户空间?

这是正确的假设吗?

1 个答案:

答案 0 :(得分:4)

不,拆分仅用于划分虚拟地址空间。

这只意味着从0x00000000到0xBFFFFFFF'的地址空间属于或可用于在用户空间中进行映射。虚拟地址0xC0000000到0xFFFFFFFF属于内核。

可用RAM的数量及其使用方式与Linux内核中虚拟地址空间的分区无关。

FWIW,在ARM上,你可以configure what the split is所以它不必是3:1(用户:内核)。它可以是1:3,2:2或3:1。我假设x86 arch有类似的选项。