【发布时间】:2020-12-06 22:18:57
【问题描述】:
我正在寻求以下家庭作业问题的帮助:
假设一个程序有1200字的虚拟空间。考虑以下一系列虚拟地址:
60; 222; 160; 910; 450; 345; 412; 10; 180; 20; 443; 766; 812.给出引用页码的顺序,假设每页有 200 个单词。
总虚拟空间与 200 字的页面有何关系?这是否意味着内存有 6 页?如何从虚拟地址确定页码?
只是寻求帮助以了解这些步骤,而不是完整的解决方案,谢谢!我浏览了许多示例,并且很难找到一种可重复的公式化方式来做到这一点。我无法理解长文本块并且更喜欢数学公式,但可用的答案似乎有非常冗长的解释。
我正在考虑第 1 页上的虚拟地址 #60,因为它小于 200。然后,自 ceiling(222/200) = 2 以来,222 将在第 2 页上。
-
正确吗?
ceiling(virtual address/page size)是正确的做法吗? -
我对 1200 有何看法?对于这么大的虚拟空间,虚拟地址 1201 是否无效?
【问题讨论】:
-
您不是在寻找完整的答案,但您的理解似乎基本上是正确的,并且没有什么可以添加到完整的答案中。但在大多数环境中,页码和地址编号将从 0 开始,因此使用 floor 而不是 cieling。
标签: memory fifo lru virtual-address-space page-fault