3级页表


哪一层包含页面的偏移量?
每个级别的页面大小是否相同或不同?


如果第二级和第三级页表的大小为2 ^ 25字节。每个包含2 ^ 9个条目。页表条目的大小为4个字节。其中使用(2 ^ 25-2 ^ 9 * 4)B。

如何使用它,或者将其浪费掉?

4级页表

哪个图可以阐明以下内容的清晰视图:


MMU
页表
页表条目
虚拟地址
物理地址?

最佳答案

哪个级别包含页面的偏移量?


页面不负责补偿。

让我们举个例子,它可以帮助您理解:



32位地址空间
页面大小4096字节
2 ^ 32 = 4 GB虚拟内存


要引用页面的每个字节,我们将需要log(4096)= 12位。

现在我们需要计算不同页面的数量,即4GB / 4KB = 1M页面。 1M是2 ^ 20个不同的页面。我们需要20位引用每个页面。

让我们做一个2级页面表。外部的也称为页面目录将具有2 ^ 10个条目,页面表上的每个条目都指向2 ^ 10个条目。

linux - 多级页表概念-LMLPHP

10位将标记PGDIR中指向页表的条目,访问页表后,我们将使用接下来的10位查找包含物理帧数的条目。

每当CPU运行命令时,它将使用前20位查找帧,并将使用最后12位作为该页面内的参考。

linux - 多级页表概念-LMLPHP

页表中的每个条目都有32位,前20位用于引用物理帧,后12位是用于告诉谁可以read/write的标志...
linux - 多级页表概念-LMLPHP

关于linux - 多级页表概念,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43393342/

10-12 00:11