我在 OS 过去的论文中发现了这个问题,我需要一些帮助来解决这个问题。 给你:
- 具有 10 行和 10 列的矩阵 A,按行连续存储
- 我们有 3 个可用页框的系统;在这个系统中,您可以在一个页面中放置 10 个整数
- 2 个程序,
P1
和P2
,它们可以单独组合在一起,在一页中;这些方案是:
P1:
for(i=0; i<10; i++)
for(j=0; j<10; j++)
A[i][j]=0;
P2:
for(j=0; j<10; j++)
for(i=0; i<10; i++)
A[i][j]=0;
问题是:每个程序占用多少页,考虑到我们使用的是 LRU 算法,哪一个更有效?
我知道 LRU 算法是如何工作的,我的猜测是它P1
会更有效,因为矩阵是按行连续存储的。但是我不明白 LRU 在这个逻辑中的位置(如果我的推理错误,请纠正我)。关于每个程序占用的页数,我们从未在课堂上讨论过。有人能帮我吗?
如果有帮助,答案选项是:
P1
P2
每页11页,效率P1
更高P1
P2
每页11页,效率P2
更高P1
P2
每页占用100页,效率P2
更高P1
P2
每页10页,效率P1
更高P1
P2
每页10页,效率P2
更高
另外,我觉得这个问题受到操作系统概念要点中的这个问题的“启发”(也许它可以提供一些上下文):