Memory 如何从虚拟地址确定页码?

Memory 如何从虚拟地址确定页码?,memory,fifo,lru,virtual-address-space,page-fault,Memory,Fifo,Lru,Virtual Address Space,Page Fault,我正在寻求以下家庭作业问题的帮助: 假设一个程序有一个1200字的虚拟空间。考虑下面的一系列虚拟地址: 60;222; 160; 910; 450; 345; 412; 10; 180; 20; 443; 766; 812 假设每页有200个单词,给出引用页码的顺序 总虚拟空间与200字页面的关系如何?这是否意味着内存有6页?如何从虚拟地址确定页码 只是寻求帮助,以了解步骤,而不是一个完整的解决方案,谢谢!我看过很多例子,很难找到一个可重复的公式化方法来实现这一点。我很难理解长文本块,更喜欢数

我正在寻求以下家庭作业问题的帮助:

假设一个程序有一个1200字的虚拟空间。考虑下面的一系列虚拟地址:

60;222; 160; 910; 450; 345; 412; 10; 180; 20; 443; 766; 812
假设每页有200个单词,给出引用页码的顺序

总虚拟空间与200字页面的关系如何?这是否意味着内存有6页?如何从虚拟地址确定页码

只是寻求帮助,以了解步骤,而不是一个完整的解决方案,谢谢!我看过很多例子,很难找到一个可重复的公式化方法来实现这一点。我很难理解长文本块,更喜欢数学公式,但可用的答案似乎有非常冗长的解释

我认为第一页的虚拟地址是60,因为它不到200。然后,222将出现在第2页,因为
天花板(222/200)=2

  • 对吗?
    天花(虚拟地址/页面大小)
    是正确的方法吗

  • 我对1200有什么看法?对于这样大小的虚拟空间,1201的虚拟地址是否无效


  • 对于使用位置符号(从零开始)的系统,公式是下限(虚拟地址/页面大小),对于基于1的系统(从1开始)是上限(虚拟地址/页面大小)。

    对于使用位置符号(从零开始)和上限的系统,公式是下限(虚拟地址/页面大小)(虚拟地址/页面大小)用于基于1的系统(从1开始).

    您并不是在寻找完整答案,但似乎您的理解基本上是正确的,而且要获得完整答案,没有更多的补充。但在大多数环境中,页码和地址编号将从0开始,因此使用floor而不是cieling。您并不是在寻找完整答案,但您的理解似乎是这基本上是正确的,为了得到完整的答案,没有更多的补充。但是在大多数环境中,页面编号和地址编号将从0开始,所以是floor而不是cieling。