我读了 Mel Gorman 关于 Linux 虚拟内存的书。 我读过,Linux 支持 3 级页表:PGD、PMD 和 PTE。如果我没有记错在较新版本的内核中,有四个页表级别:PUD,但这并不重要。我有一个合理的问题。 为什么 Linux 开发人员选择 3(或 4)级页表而不是使用一个?仅使用一个全局页表(我的意思是每个进程的全局页表)将减少内存引用量。
对不起,我的英语不好。
最佳答案
这与您的断言完全相反。使用单级页表需要为每个单页(至少一个指针)分配一个条目到该单页表中。通过拥有多级页表,除了顶级之外,所有其他级别都可以保持未分配状态,直到使用该部分地址空间。 – 凯勒姆
关于linux分页,使用了很多页表目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34384467/