我正在尝试理解分页并且遇到了一些问题。我发现了一个我无法理解的示例问题,并希望有人可以让我朝着正确的方向前进:
有问题的理论系统有 64K (2^16) 字节的内存。页大小为 4K 字节 (2^12),页表有 15 个整体。对于理论进程 X 的页表中的每个条目,都有页号、存在/不存在位和页框号。
我知道物理地址的查找使用页面大小作为偏移量,而地址空间的其余部分作为页帧号;但是,如果没有地址空间编号,我很困惑如何计算在理论系统上表示物理地址需要多少位。
更复杂的是,如果给定最大地址空间(比如 32K 字节),我不确定如何表示虚拟地址。鉴于页表的结构,我觉得它只是地址空间的大小。不过,这对我来说也不太合适。
任何有助于澄清这些东西是如何工作的都将不胜感激。我在研究中注意到,您可以通过地址空间大小除以页面大小来计算表条目的数量。我认为这将回答我的问题:要使用多少位来表示物理地址,但随后注意到该假设存在缺陷。
感谢大家。
MN7