Memory management 读取指令可能导致的最大页面错误数?
将32位字装入寄存器的一种机器语言指令 包含要加载的字的32位地址。问题是什么 此指令可能导致的最大页面错误数 (Tanenbaum,OS,Q 44) 看起来很简单,只会导致1页错误。当它试图访问32位字时。 (我关于这个问题的理论,请随意忽略它,因为它可能包含许多错误或混乱的事实。)Memory management 读取指令可能导致的最大页面错误数?,memory-management,operating-system,paging,page-fault,Memory Management,Operating System,Paging,Page Fault,将32位字装入寄存器的一种机器语言指令 包含要加载的字的32位地址。问题是什么 此指令可能导致的最大页面错误数 (Tanenbaum,OS,Q 44) 看起来很简单,只会导致1页错误。当它试图访问32位字时。 (我关于这个问题的理论,请随意忽略它,因为它可能包含许多错误或混乱的事实。) 请告诉我这个问题的正确解决方法。一条读取指令可能会触发多个页面错误。从理论上讲,从一个跨越两个不存在页面的地址读取数据。我发现被接受的答案很奇怪,因为我不明白页面表可能不在主内存中-那么你怎么知道在哪里查找它呢?
请告诉我这个问题的正确解决方法。一条读取指令可能会触发多个页面错误。从理论上讲,从一个跨越两个不存在页面的地址读取数据。我发现被接受的答案很奇怪,因为我不明白页面表可能不在主内存中-那么你怎么知道在哪里查找它呢?:\ 我上网找到了这些,我想现在我得到的答案或多或少是可持续的 答案背后的想法是,地址指令可以以某种方式(跨越边界)属于两个页面表 因此,当包含地址的这两个页面都不在主存中时,会发生2个页面错误,而当您试图寻址位于您以前试图访问的单词中的虚拟地址时,会发生另外2个页面错误,总共4个页面错误 我仍然不太确定答案,但这个版本似乎比公认答案的版本简单得多(Occam's Razor),后者假定页表可能不在主内存中。希望这会有帮助