多级页表概念

-1 linux paging x86 operating-system memory-management

3级页表

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

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

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

4级页表

哪个图可以阐明以下方面的清晰视图:

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

Ton*_*ous 5

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

页面不负责偏移。

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

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

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

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

让我们做一个2级页面表。外部的也称为页面目录将具有2 ^ 10 页面表上的每个入口点也具有2 ^ 10项。

没有说明

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

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

在此处输入图片说明
页表中的每个条目都有32位,前20位用于引用物理帧,后12位是用于告诉谁可以执行read/write更多操作的标志。
在此处输入图片说明