页表的虚拟地址是如何转换成它的实际物理地址的?

198*_*ank 1 paging memory-management linux-kernel

如果在 OS 中启用了分页,则使用页表将虚拟地址映射到实际物理地址。更具体地说,考虑 X86 上的 Linux 32 位操作系统,cr3 寄存器具有页表目录的起始地址。我猜这是一个虚拟地址。CPU 将如何将此虚拟地址映射到 RAM 上页表目录的物理地址。这个地址转换将使用哪个页表?

zhi*_*any 5

不,cr3 有页表的物理地址,而不是虚拟地址。如果cr3包含页表的虚拟地址,就会陷入逻辑死循环,无法找到页表。