内核虚拟地址转换

use*_*575 7 paging memory-management linux-kernel

考虑到Linux和32位x86 arch,可访问的4GB地址空间有3:1的分界.用户空间分配0-3 Gb,而3-4 Gb分配给内核.如何将大于3Gb且因此位于内核地址空间的虚拟地址转换为物理地址?页面表会出现吗?

Eri*_*nen 5

Mel Gorman的书" 理解Linux虚拟内存管理器"中有一些信息.

简短回答:是的,内核设置页表将物理地址0转换为虚拟地址3 GiB.(第3.7.1节).这包括内核加载到的物理位置(通常在x86上为1MB).