1

我有这个家庭作业问题,我很难找到答案。想知道这里是否有人可以告诉我我的计算是否在正确的轨道上,或者我是否偏离了方向。我不是在找人给我答案。如果我的答案不正确,任何为我指明正确方向的帮助将不胜感激。这是问题所在:

进程的虚拟地址空间为 2 MB 大。假设一个页面的大小是 4KB。如果每个页表条目需要 2 个字节,则内存中页表的最大大小是多少?

我计算背后的逻辑是每个页面大小为 4096 字节(4KB),每个页表条目为 2 个字节。因此,每个页面实质上占用了 4098 字节的内存。如果我将 2MB 除以每页的内存总量,我最多可以在内存中拥有 511 页。(第 512 页是页表)。每个页面都需要一个页表条目,因此 511 页 * 2 字节 = 1022 字节是我解决此问题的最大页表大小。

我在任何方面都在正确的道路上吗?或者我应该以不同的方式计算这个?任何提示或建议将不胜感激。提前致谢。

4

1 回答 1

1

页表不被认为是虚拟空间的一部分,而是一种实现虚拟内存的手段,所以不要在计算页面时使用它。

于 2012-04-15T23:34:31.620 回答