有一个程序要将64行×64列的整型数组所有元素的初值置为“0”。假如釆用页式虚拟存储管理方法,其页面大小可以存放128个整型数组
2024-08-04操作系统(02326)
有一个程序要将64行×64列的整型数组所有元素的初值置为“0”。假如釆用页式虚拟存储管理方法,其页面大小可以存放128个整型数组元素(即正好存放两行数组元素),数组中的元素按行编址存放。系统提供一个主存块用来存放数组信息,初始状态为空。程序编制分别如下:
试问:(1)整个数组占用多少页面?
(2)上述两个程序执行时,各产生多少次缺页中断(作简要说明)?
【正确答案】:(1)整个数组占用32个页面:64×64/128=32
(2)(A程序)2048次缺页中断。
第1次缺页中断调入数组的第1行和第2行,置A[1,1]:=0,A[2,1]:=0;依次类推,第32次缺页中断调人数组的第63行和第64行,置A[63,1]:=0,A[64,1]:=0;因数组有64列元素,程序外循环需64次,共产生64×32=2048次缺页中断。
(B程序)32次缺页中断。
第1次缺页中断调入数组的第1行和第2行,可将这两行各元素都置为“0”:依次类推,第32次缺页中断调人数组的第68行和第64行,可将这两行各元素都置为“0”,共产生32次缺页中断。P186-187
