分层分页查找层次结构的级别

时间:2015-04-18 03:20:06

标签: memory-management operating-system paging

我需要根据这些数据找出层次分页中有多少层次结构:

  

64位计算机系统,使用具有16KB页面大小的纯分页,如果   每个页表项长度为4个字节。假设2级   层次结构对应于外部页面表和内部页面表

我的计算基于这个问题:Multi-level page tables - hierarchical paging。但最终我获得了1级的等级!它不可能是真的。只有1级。 我这样做了:

  

查找1页中的所有条目页面大小/条目大小= 2 ^ 50/2 ^ 5 = 2 ^ 45   每页中的条目。要解决它,我们需要45位。总数   对编码条目的位是64位。所以我们需要64/45。它大约是1和其他东西。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

由于页面大小为16KB(或2 ^ 14),并且每个条目为4个字节(2 ^ 2),因此一页最多可以存储2 ^ 12个物理地址。因此,您在第二个分页级别可以有12位,从而有效地组合为<38,12,14>。只要您无法进一步分解,就可以继续。因此,此处为<26,12,12,14>。 人们在这里常犯的错误是忘记了第二页面调度级别告诉了给出物理地址的页面内的偏移量。

答案 1 :(得分:-1)

  

所以只需按照该链接中提到的内容进行操作即可   16KB页面需要14位来表示(log16 * 1024)   一页表中的条目= 16 * 1024/4 = 4096需要12位(log 4096)   地址空间为64,因此减去页面偏移位(64 - 14 = 50)   50/12 = 4.16666667向上舍入= 5.希望有所帮助