3

我正在尝试理解分页并且遇到了一些问题。我发现了一个我无法理解的示例问题,并希望有人可以让我朝着正确的方向前进:

有问题的理论系统有 64K (2^16) 字节的内存。页大小为 4K 字节 (2^12),页表有 15 个整体。对于理论进程 X 的页表中的每个条目,都有页号、存在/不存在位和页框号。

我知道物理地址的查找使用页面大小作为偏移量,而地址空间的其余部分作为页帧号;但是,如果没有地址空间编号,我很困惑如何计算在理论系统上表示物理地址需要多少位。

更复杂的是,如果给定最大地址空间(比如 32K 字节),我不确定如何表示虚拟地址。鉴于页表的结构,我觉得它只是地址空间的大小。不过,这对我来说也不太合适。

任何有助于澄清这些东西是如何工作的都将不胜感激。我在研究中注意到,您可以通过地址空间大小除以页面大小来计算表条目的数量。我认为这将回答我的问题:要使用多少位来表示物理地址,但随后注意到该假设存在缺陷。

感谢大家。

MN7

4

1 回答 1

1

我将尝试回答这个问题。大概,您想知道如何从给定的地址空间编号推导出:

  1. 为在页表中查找页码而留出的位和
  2. 用于计算已识别页面内的偏移量的位。

这是操作系统的设计决策,您的问题的答案实际上是在您决定页码和偏移的位数之前预先确定的。

希望这可以帮助。我愿意接受更好的答案。

于 2013-02-18T07:11:44.347 回答