考虑到 Linux 和 32 位 x86 arch,可访问的 4GB 地址空间按 3:1 划分。用户空间分配 0-3 Gb,而 3-4 Gb 分配给内核。
大于 3Gb 因而位于内核地址空间中的虚拟地址如何转换为物理地址?页表会出现吗?
最佳答案
Mel Gorman 的书中有一些信息Understanding the Linux Virtual Memory Manager .
简短的回答:是的,内核设置页表将物理地址 0 转换为虚拟地址 3 GiB。 (第 3.7.1 节)。这包括内核加载到的物理位置(在 x86 上通常为 1MB)。
关于memory-management - 内核虚拟地址转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4826810/