来自Tanenbaum现代操作系统的页面大小练习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自Tanenbaum现代操作系统的页面大小练习相关的知识,希望对你有一定的参考价值。

我决定通过解决A. Tanenbaum的“现代操作系统”中的问题来测试我对操作系统内部的了解。并遇到以下问题:

假设一台机器有48位虚拟地址和32位物理地址。如果页面是4 KB,如果页面表只有一个级别,那么页面表中有多少条目?

一如既往,因为我们有48位虚拟地址空间,我们需要能够将每个内存地址映射到物理地址。所以我们有2 ^ 48个地址,每个页面是4KB = 2 ^ 12,所以我们在页表中需要2 ^ 36 = 2 ^(48-12)个条目。因此,当我们得到48位地址时,我们使用更高的36位作为页表的索引来查找页帧的数量,然后使用低12位作为页帧中的偏移量。

然后我在解决方案手册中查找了正确的答案:

我们每页需要一个条目,或者2 ^ 24 = 16×1024×1024条目,因为页码字段中有36 = 48-12位。

我无法理解正确答案背后的推理,它确实是正确的还是我错过了什么?

答案

你是绝对正确的。如果您有48位虚拟地址和4KB页面,则至少需要12位才能在页面中选择正确的字节。因此,您的页表中有2 ^ 48-2 ^ 12 = 2 ^ 36个条目可将虚拟地址转换为物理地址。 (其中一些将在您的磁盘上)。

以上是关于来自Tanenbaum现代操作系统的页面大小练习的主要内容,如果未能解决你的问题,请参考以下文章

#私藏项目实操分享#现代企业信息化综合运维管理实例

被阻止的进程

现代软件工程_第一周练习_第5题_万世想

尚硅谷Hadoop的WordCount案例实操练习出现的bug

Python+Selenium练习(二十二)-获取页面元素大小

全国计算机等级三级Linux应用与开发技术考试-第2章-Linux系统概述-练习题