Linux 内核有自己的页表吗?

Tim*_*Tim 3 linux virtual-memory linux-kernel

不同的进程对于它们的地址空间有不同的页表。

Linux 内核有自己的页表吗?如果不是,内核的虚拟地址如何转换为物理内存地址?

从每个进程的地址空间分为用户空间和内核空间的意义上来说,每个进程的页表是否包含内核的“页表”?

谢谢。

相关页面错误、页面替换和分页是否发生在内核或进程,以及内核空间或用户空间?

V13*_*V13 5

你是对的。进程的VM由用户地址空间和内核地址空间组成。所有进程的内核地址空间都是相同的,但受到保护而无法访问。如果您听说过 2/2 或 3/1 内存拆分(来自 x32),那就是用户/内核内存量(以 GB 为单位)。因此,对于 4GB 地址空间,您可以(例如)为进程使用 3G,为内核使用 1G。

我建议您阅读“了解 Linux 内核”一书,该书将回答这个问题以及您的许多其他问题。