我有一个问题,我不确定。如果有人可以帮忙,我将不胜感激。问题是这样的:
以下程序请求序列取自460字节程序:10,11,104,170,73,309,185,245,246,434,458,364((即有一个程序)内存长度为460字节,它在文本中引用字节,10表示程序的第10个字节被引用,其中10是相对地址。主存储器可以为该程序保存总共200个字节。哪些请求导致页面错误,以及使用FIFO(先进先出)和页面大小为50字节的最佳页面替换算法的页面错误数量是多少。
这就是我的想法。首先,由于内存中没有任何内容,第一个请求(10)会导致页面错误。然后当字节10到60被加载到存储器时,因为页面大小是50字节。当第二个请求到来时(11),它不是页面错误,因为它已经在内存中。然后104导致页面错误,并且104-154之间的字节被加载到存储器。 170也导致页面错误,并且170-220被加载到内存等等。这就是这样。我的逻辑是真的吗?
提前致谢。
答案 0 :(得分:0)
没有。第三个请求会导致字节100-149被加载到内存中,因为二进制文件实际上被分成50个字节的块,而字节104将被分成第3个块。
您还应该考虑物理内存只能容纳4页。在某个时刻,您可能需要丢弃页面并在加载时重新触发页面错误。