页表寄存器和缓存

问题描述

我刚刚了解了内存管理,目前正在尝试弄清楚页表是什么。根据我的理解,页表是一种类似于哈希表的数据结构,用于映射和连接操作系统中的逻辑和物理内存地址。

我们需要一个寄存器来确定进程页表的位置。但是我们需要多少个寄存器来确定一个多级页表的位置,例如一个二级和三级页表?你是如何确定的?

此外,处理器中的缓存(L1-L3)将如何影响对页表的内存引用访问?大多数人会错过还是命中?为什么会这样?

我试图为此找到参考资料,但它使我找到了 TLB,我还没有了解它。可能会说我真的是操作系统的初学者。帮助:)

解决方法

根据 Nate 的回答,我们只需要在表的顶层有一个寄存器,并且表中的条目是指向下一层的指针,因此在任何级别都不需要一个以上的寄存器页表。