多级页表的概念
问题描述:
3级页表多级页表的概念
- 哪个级别包含的页面的偏移?
- 每个关卡的页面大小会相同还是不同?
如果第二级和第三级页表大小为2^25字节。每个包含2^9个条目。页表项的大小是4字节。使用(2^25 - 2^9 * 4)B。
这怎么可能被使用,否则会被浪费?
4级页表
哪个图可以清楚的明确的看法:
- MMU
- 页表
- 页表项
- 虚拟地址
- 物理地址?
答
哪个级别包含页面的偏移量?
页面不负责抵消。
让我们做一个例子可以帮助你理解:
- 32位操作系统
- 页面大小4096字节
- 4 GB的物理内存
要引用页面的每个字节,我们需要记录(4096)= 12位。
现在我们需要计算不同页面的数量,即4GB/4KB = 1M页面。 1M是2^20不同的页面。我们需要20位来引用每个页面。
让我们做一个2等级页表。外部的也称为页面目录将具有2^10条目,每个入口点在页表,其也具有2^10个条目。
10位将标志着它指向一个页表,当我们访问页表,我们将用接下来的10位找到其中包含物理帧的数量的条目PGDIR的条目。
每当CPU运行一个命令,它将使用前20位来查找帧,并将使用最后12位作为该页面内的引用。