某虚拟存储系统采用最近最少使用(LRU)页面淘汰算法,假定系统为每个作业分配3个页面的主存空间,其中一个页面用来存放程序。现有某作业的部分语句如下:
Var A: Array[1..150,1..100] OF integer;
i, j: integer;
FOR i:=1 to 150 DO
FOR j:=1 to 100 DO
A[i,j]:=0;设每个页面可存放150个整数变量,变量i、j放在程序页中。初始时,程序及变量i、j已在内存,其余两页为空,矩阵A按行序存放。在上述程序片段执行过程中, * * 生 (27) 次缺页中断。最后留在内存中的是矩阵A的最后 (28) 。
(28)处填()。
A.2行
B.2列
C.3行
D.3列
参考答案:C
解析:
本题考查缺页中断和LRU算法的基本知识。
系统为每个作业分配3个页面的主存空间,其中一个页面用来存放程序,那么剩下两个页用来存放矩阵中的数据。二维数组A[150][100]共有150行100列,即每行100个整型变量。由题知每个页面可存放150个整型变量且矩阵A按行序存放,所以每两个页面可存放数组的三行数据,访问它们需要产生两次缺页中断。150行总 * * 生100次缺页中断。
采用最近最少使用页面淘汰算法,每次淘汰最久未被访问的页面。因为用来存放程序的页面时都在调用,是不会被淘汰的,所以最后留在内存中的是矩阵A的最后3行。