我正在尝试理解分页并遇到一些问题。我找到了一个我无法理解的示例问题,并且希望有人能够让我朝着正确的方向前进:
所讨论的理论系统具有64K(2 ^ 16)字节的存储器。页面大小为4K字节(2 ^ 12),页面表格为15个。页面表中的Foreach条目用于理论过程X,有页码,存在/不存在位和页面帧号。
据我所知,物理地址的查找使用页面大小作为偏移量,剩余的地址空间使用页面帧号;但是,如果没有地址空间编号,我很困惑如何计算在理论系统上需要多少位来表示物理地址。
为了使事情进一步复杂化,如果给出最大地址空间(比如32K字节),我不确定如何表示虚拟地址。鉴于页表的结构,我觉得它只是地址空间的大小。不过我觉得这也不对。
任何有助于澄清这些东西如何运作的帮助都将是值得赞赏的。我在研究中注意到,您可以通过执行地址空间的大小除以页面大小来计算表条目的数量。我认为这将回答我的问题:将使用多少位来表示物理地址,但随后注意到这种假设会有缺陷。
谢谢大家。
MN7
答案 0 :(得分:1)
我会尝试回答这个问题。据推测,您想知道如何从给定的地址空间编号中得出:
这是操作系统的设计决策,在您决定页码和偏移量的位数之前,确实是先确定问题的答案。
希望这会有所帮助。我愿意接受更好的答案。