[真2][18][单选]某虚拟页式存储系统中采用最近最少使用(LRU)页面置换算法,系统给每个进程分配3页内存,每页大小为4096字节。
某进程创建后,代码部分占用2页内存并驻留,数据部分占用1页内存并且当前为空,对于如下程序(每个变量占用一个字:
VAR A: ARRAY[0..2047, 0..2047] OF INTEGER; FOR i = 0 TO 2047 DO FOR j = 0 TO 2047 DO A[i, j]:= 0;
该程序执行完将产生多少次缺页中断??
2048×2048
2048×1
1024×1
1024×1024
答案
2048x1
解析
最近最久未用页面置换算法LRU总是淘汰最近时间内没有被访问过的页面,题中系统给每个进程分配 3 页内存,页大小为 4096 字节,进程创建后,代码部分占用 2 页内存并驻留,所以只有 1 页内存可以使用,程序运行时,对数组 A 的访问是按行优先的方式,一行 2048 个整数是占用连续的内存空间的,所以可以直接将一行数据存放到内存中,接下来访问这一行时,数据都在内存中,当访问下一行时,需要将上一行的数据置换出去,每访问一个新的行数组,就会产生一次缺页中断,总共 2048×2048 1 次缺页中断。故选择 B 选项。
转载请注明出处。