有一个矩阵 int a[100][100],以行为先进行存储。假设有一个虚拟存储系统,物理内存有3页,其中1页用来存放程序,其余2页用于存放数据。
程序A
for (i=0;i<=99;i++)
for(j=0;j<=99;j++)
a[i][j]=0;
程序B
for(j=0;j<=99;j++)
for (i=0;i<=99;i++)
a[i][j]=0;
若每页可存放200个整数,程序A和程序B的执行过程各会发生多少次缺页?
答案:程序A缺页50次,程序B缺页4901次。
只讲B. 看下图:
这个程序还和调度算法有关。 上面讲的是缺页最少的情况。
如果采用FIFO页面置换机制,则缺页数为5000
本文通过分析两种不同遍历方式的程序A和B,探讨了它们在特定虚拟存储系统中的缺页次数。程序A按行遍历,而程序B按列遍历。在相同条件下,程序A发生缺页50次,程序B则高达4901次。文章进一步讨论了不同的页面置换机制如何影响缺页次数。
8573

被折叠的 条评论
为什么被折叠?



