linux分页,使用大量页表目录

linux分页,使用大量页表目录,linux,paging,page-tables,Linux,Paging,Page Tables,我读了梅尔·戈尔曼关于Linux虚拟内存的书。 我已经读到,Linux支持3个级别的页表:PGD、PMD和PTE。如果我没有错的话,在较新版本的内核中,有4个级别的页表:PUD,但这并不重要。我有一个合理的问题。 为什么Linux开发人员选择3(或4)级页面表而不是使用一个?只使用一个全局页表(我是指每个进程的全局页表)将减少内存引用量 请原谅我的英语。这与你的主张完全相反。使用单级页面表需要在该单表中为每个页面分配一个条目(至少一个指针)。通过拥有多个级别的页表,除了顶层之外,所有其他级别都可

我读了梅尔·戈尔曼关于Linux虚拟内存的书。 我已经读到,Linux支持3个级别的页表:PGD、PMD和PTE。如果我没有错的话,在较新版本的内核中,有4个级别的页表:PUD,但这并不重要。我有一个合理的问题。 为什么Linux开发人员选择3(或4)级页面表而不是使用一个?只使用一个全局页表(我是指每个进程的全局页表)将减少内存引用量


请原谅我的英语。

这与你的主张完全相反。使用单级页面表需要在该单表中为每个页面分配一个条目(至少一个指针)。通过拥有多个级别的页表,除了顶层之外,所有其他级别都可以保持未分配状态,直到该部分地址空间被使用为止kaylum

您最好询问Linux邮件列表,或者询问他们使用的任何通信机制;我们中的很多人不太可能知道Linux的每一个设计细节的合理性,这与你的主张完全相反。使用单级页面表需要在该单表中为每个页面分配一个条目(至少一个指针)。通过拥有多个级别的页表,除了顶层之外,所有其他级别都可以保持未分配状态,直到地址空间的该部分被使用为止。