[31][18][单选]有一个虚拟页式存储系统中采用最近最少使用(LRU)页面置换算法,系统给每个进程分配内存页,每页大小为 4096 字节。
某进程创建后,代码部分占用 2 页内存并进程,数据部分占用1页内存并且当前为空,对于如下程序(每个变量占用一个字):
VAR A: ARRAY [0..2047, 0..2047] OF INTEGER; FOR j := 0 TO 2047 DO FOR i := 0 TO 2047 DO A[i, j] := 0;
该程序执行完会产生多少次缺页中断?
2048×1
1024×1
2048×1024
2048×2048
答案
2048×2048
解析
每个进程分配 3 页内存,其中代码部分占用 2 页内存并进程,数据部分占用 1 页内存并且当前为空,程序中数组 A 大小为 2048×2048,每页大小为 4096 字节4096 个变量,那么需要 2048×2048/4096 = 2048 页内存,每次循环都要访问新页面,会产生 2048 次缺页中断。涉及考点为第 3 章存储管理。
转载请注明出处。