Linux kernel Linux内核:进程页表驻留在哪里?

Linux kernel Linux内核:进程页表驻留在哪里?,linux-kernel,virtual-memory,Linux Kernel,Virtual Memory,由于仅由内核使用,它们应该仅位于页偏移量上方的地址中。但我正在阅读第页,在最后(在IRC车队中),我读到了以下几行,这让我非常困惑: saxm> riel: so where do page tables reside? Surely not below PAGE_OFFSET? Somewhere above PAGE_OFFSET+896mb then? riel> they could reside anywhere saxm> anywhere from 0-&

由于仅由内核使用,它们应该仅位于页偏移量上方的地址中。但我正在阅读第页,在最后(在IRC车队中),我读到了以下几行,这让我非常困惑:

 saxm> riel:  so where do page tables reside? Surely not below PAGE_OFFSET? Somewhere above PAGE_OFFSET+896mb then?

riel> they could reside anywhere

saxm> anywhere from 0->4gb (on x86 with no pae)?

riel> saxm: yeah

我的意思是,为什么他们会躺在页面下方?如果是这样的话,用户空间进程就不能访问它们吗?

我想riel想说的是,它们可以(几乎)驻留在物理内存中的任何位置——没有固定的映射

页表映射在内核虚拟地址空间中(即,在页偏移量之上),对用户空间不可见(正如您所指出的,这是有意义的,因为我们不希望用户破坏他们自己的页表)

请看以下相关帖子:
我想瑞尔想说的是,它们可以(几乎)驻留在物理内存中的任何地方——没有固定的映射

页表映射在内核虚拟地址空间中(即,在页偏移量之上),对用户空间不可见(正如您所指出的,这是有意义的,因为我们不希望用户破坏他们自己的页表)

请看以下相关帖子: