考虑一个将 39 位虚拟地址转换为物理地址的三级页表,如下所示:
页大小为 4 KB = (1KB = 2 10字节),每一层的页表条目大小为 8 字节。进程 P 当前使用 2 GB(1 GB = 2 30字节)虚拟内存,操作系统映射到 2 GB 物理内存。 P 的所有级别的页表所需的最小内存量为 _________ KB
(一) 4108
(二) 1027
(三) 3081
(四) 4698答案:(一)
说明:假设进程 P 使用 2GB 的物理内存,页面大小为 2^12 字节,
页数 = 2^31 / 2^12 = 2^19
每个页面在第 3 级需要一个条目,第 3 级每个页表有 2^9 个条目。
所以我们在第三层需要 2^19/2^9 = 2^10 个页表。
这意味着第二级有 2^10 个条目,第二级每个页表有 2^9 个条目。
所以我们在第二层需要 2^10/2^9 = 2 个页表。
现在我们在第一级有 2 个条目,因此,我们在第一级只需要 1 个页表。
所以总的来说我们需要,
2^10 +2 +1 = 1027 个页表,每个页表有 2^9 个大小为 8 字节的条目。
页表的总大小 = 1027*2^9*8 字节
= 1027*2^12 字节
= 1027*4 KB
= 4108 KB
这个问题的测验