首页 > 解决方案 > 具有 2 个级别的分层分页

问题描述

考虑一个页表存储在内存中的分页系统。使用的逻辑地址空间为 32 位,页面大小为 8KB。这将导致非常大的页表,因此系统使用具有两个级别的分层分页。外部页表中的条目数为 256。

指定组成逻辑地址的三个字段中每个字段的位数,即外页、内页和偏移量。

我找到了一些关于查找页面偏移量的信息Page offset = log2(page size in bytes),因此对于这种情况,它将是 13,但我没有找到太多关于如何查找外页和内页的位数的信息。任何人都可以为我阐明这个问题吗?谢谢你。

标签: operating-systempagingvirtual-memorypage-tables

解决方案


逻辑地址的最低位将用于“8192 字节页面中的偏移量”。为此,您需要 13 位(因为1 << 13 = 8192或因为log2(8192) = 13)。

逻辑地址的最高位将用于“索引到 256 项外部页表”。为此,您需要 8 位(因为1 << 8 = 256或因为log2(2562) = 8)。

如果逻辑地址是 32 位,最低 13 位和最高 8 位用于其他用途;内部页表的索引剩余多少位?


推荐阅读