如何从虚拟地址确定页码?
How do I determine the page number from the virtual address?
我正在寻求以下作业问题的帮助:
It is assumed that a program has a virtual space of 1200 words. Consider the following series of virtual addresses:
60; 222; 160; 910; 450; 345; 412; 10; 180; 20; 443; 766; 812.
Give the sequence of the referenced page numbers, assuming that each page has 200 words.
总虚拟 space 与 200 字页面有什么关系?这是否意味着内存有 6 页?如何根据虚拟地址确定页码?
只是寻求帮助来理解这些步骤,而不是完整的解决方案,谢谢!我看过很多例子,但很难找到一种可重复的公式化方法来做到这一点。我很难理解长文本块并且更喜欢数学公式,但可用的答案似乎有非常冗长的解释。
我在想第 1 页上的虚拟地址 #60,因为它小于 200。然后,222 将在第 2 页上,因为 ceiling(222/200) = 2
。
对吗? ceiling(virtual address/page size)
是正确的做法吗?
我如何使用 1200? 1201 的虚拟地址对于那个大小的虚拟 space 是否无效?
对于使用位置表示法(从零开始)的系统,公式是下限(虚拟地址/页面大小),对于基于 1(从 1 开始)的系统,公式是上限(虚拟地址/页面大小)。
我正在寻求以下作业问题的帮助:
It is assumed that a program has a virtual space of 1200 words. Consider the following series of virtual addresses:
60; 222; 160; 910; 450; 345; 412; 10; 180; 20; 443; 766; 812.
Give the sequence of the referenced page numbers, assuming that each page has 200 words.
总虚拟 space 与 200 字页面有什么关系?这是否意味着内存有 6 页?如何根据虚拟地址确定页码?
只是寻求帮助来理解这些步骤,而不是完整的解决方案,谢谢!我看过很多例子,但很难找到一种可重复的公式化方法来做到这一点。我很难理解长文本块并且更喜欢数学公式,但可用的答案似乎有非常冗长的解释。
我在想第 1 页上的虚拟地址 #60,因为它小于 200。然后,222 将在第 2 页上,因为 ceiling(222/200) = 2
。
对吗?
ceiling(virtual address/page size)
是正确的做法吗?我如何使用 1200? 1201 的虚拟地址对于那个大小的虚拟 space 是否无效?
对于使用位置表示法(从零开始)的系统,公式是下限(虚拟地址/页面大小),对于基于 1(从 1 开始)的系统,公式是上限(虚拟地址/页面大小)。