[10][18][单选]有一个虚拟页式存储系统采用最近最少使用(LRU)页面置换算法,系统分给每个进程 3 页内存,其中一页用来存放程序和变量 i,j(不作他用)。
假设一个页面可以存放 300 个整数变量。某进程程序如下:
VAR A:ARRAY[1..150, 1..200] OF integer; ij:integer; FOR i := 1 to 150 DO FOR j := 1 to 200 DO A[i,j] := 0;
设变量 i,j 放在程序页面中,初始时,程序及变量 i,j 已在内存,其余两页为空。矩阵 A 按行序存放。试问当程序执行完后,共缺页多少次
101
200
100
300
答案
100
解析
矩阵按行存放,分析代码了解到存放方式与访问方式相同,也是按行访问的。因此可把矩阵按页大小分为 100 页,每页 300 个元素,分析当访问第 1 个元素(第 1 页第 1 个元素),第 301 个元素(第 2 页第 1 个元素),第 601 个元素(第 3 页第 1 个元素)……时会发生缺页于是得知共缺页 100 次。故本题答案选择 C 选项。涉及考点为第 5 章内存管理。
转载请注明出处。