1

假设您有一个具有 32 位逻辑地址的两级分页系统,并且页面偏移量已预先确定为 12 位。这为页码留下了 20 位。我可以在网上和教科书中找到的所有示例都显示了页码,然后分成 2 个块,每块 10 个,使得虚拟地址看起来像这样:

[ p1: 10 位 | p2:10 位 | 偏移量:12 位]

两个页码都必须是 10 位吗?例如,是否可以改为:

[ p1: 8 位 | p2:12 位 | 偏移量:12 位]

以及使用奇数位作为页码怎么样,例如:

[ p1: 9 位 | p2:11 位 | 偏移量:12 位]

我理解将它们均匀地分开,使一切变得干净有序。我只是想弄清楚它在技术上是可行的,以及以不同的方式做它是否有任何缺点/好处。


*完全披露:这个问题本身不是作业问题,而是在尝试解决作业问题时出现的问题。不要试图让任何人为我做我的工作。只是想了解什么是可能的,以及以一种或另一种方式做这件事是否有任何优点/缺点。

4

1 回答 1

1

除了简化实现之外,没有理由要求它们具有相同的大小。实际上,在某些系统(例如 x86)中,p2您显示的字段可以是offset某些页面的一部分,而不是其他页面的一部分,以允许多种页面大小。

于 2011-02-07T05:56:37.443 回答