计算外/第二级页表的大小

时间:2015-11-09 06:58:46

标签: memory operating-system virtual-memory

有点像家庭作业的问题,但我更倾向于围绕这个概念:

如果我在两级分页系统中有32位虚拟地址,其中页面大小为8KB而外部表有1024个条目,我该如何计算表示第二级/外部的位数(大小)页表?

答案应该是9位,但我不确定如何计算这个或公式是什么。

1 个答案:

答案 0 :(得分:3)

虚拟地址分为:

PTI - Page Table Index

1st PTI | 2nd PTI | Page Offset

"外页表",第一个PTI,有1024个条目。需要 10位来表示1024个不同的状态,因为2^10 = 1024

页面偏移必须能够索引8 KiB的字节,因此 13位大。 8 KiB对应8192个不同的地址和2^13 = 8192

现在,剩下2 nd 页面表。我们可以通过减法轻松计算它的大小:

32 = 10 + 13 + x  = 23 + x    | - 23
9 = x
x = 9

因此"内部"页表最多可以容纳2^9 = 512个条目。