我正在阅读Galvin的操作系统概念。在 Paging 主题下,我发现,如果逻辑地址空间的大小为 2 ^ m ,页面大小为 2 ^ n 寻址单位(字节或字),然后逻辑地址的高位 mn 位指定页码, n 低位指定页面偏移量。
我无法弄清楚为什么会如此,所以请提供相同的解释。
答案 0 :(得分:0)
使用高位的原因是位置。当您从数组,堆栈或记录(也就是C中的结构)等数据结构访问元素时,这些元素彼此相邻。因此地址可能仅在最低有效位中不同,使最高有效位保持不变。这意味着元素大多位于同一页面中。
假设您将低位用于页码。为了方便起见,删除两个或三个最低有效位,使地址与机器字对齐。彼此相邻的元素现在始终位于不同的页面中。此外,大于单词的元素现在分为多个页面。
同样的原因也适用于缓存。