问题 单项选择题

某虚拟存储系统采用最近最少使用(LRU)页面淘汰算法。假定系统为每个作业分配3个页面的主存空间,其中一个页面用来存放程序。现有某作业的部分语句如下。

Var A: Array[1..128,1..128] OF integer;

i,j: integer;

FOR i:=1 to 128 DO

FOR j:=1 to 128 DO

A[i,j]:=0;

设每个页面可存放128个整数变量,变量i、j放在程序页中,矩阵A按行序存放。初始时,程序及变量i、j已在内存,其余两页为空。在上述程序片段执行过程中, * * 生 (30) 次缺页中断。最后留在内存中的是矩阵A的最后 (31)

(31)处填()。

A.2行

B.2列

C.1行

D.1列

答案

参考答案:A

解析:

[分析]: 系统为每个作业分配3个页面的主存空间,其中一个页面用来存放程序。二维数组A[128][128]共有128行128列,即每行有128个整型变量。由题知,每个页面可存放128个整型变量且矩阵A按行序存放,所以正好可以存放矩阵A的一行数据。这样进入内存的数据序列为:第1行、第2行、第3行、……。当第3行数据进入内存时,内存中的3个页面已满,需要进行页面淘汰。本题中采用的是最近最少使用页面淘汰算法,每次淘汰最久未被访问的页面。因为用来存放程序的页面时时都在调用,是不会被淘汰的,第1行相对第2行数据来说是最久未使用过的,所以淘汰第1行数据。当第4行数据进入内存时淘汰第2行数据,以此类推,所以最后留在内存中的是矩阵A的最后2行。由于每次调入一行数据,产生一次缺页中断,共有128行数据,所以有128次缺页中断。

单项选择题
单项选择题