有一个程序要将100×100的整型数组的初值置为对角线元素为“1”,其它元素为“0”。采用页式虚拟存储管理方法,其页面大小为200个整型数组元素,数组中的元素按行编址存放。假定只有两个主存块可用来存放数组信息,初始状态为空。将数组初始化的程序分别如下:
(A程序)inta[100][100];
Inti,j;
for(j=0;j<=99;j++)
for(i=0;i<=99;i++)
{ifi==ja[i][j]=1
elsea[i][j]=0;}
有一个程序要将100×100的整型数组的初值置为对角线元素为“1”,其它元素为“0”。采用页式虚拟存储管理方法,其页面大小为200个整型数组元素,数组中的元素按行编址存放。假定只有两个主存块可用来存放数组信息,初始状态为空。将数组初始化的程序分别如下:
(A程序)inta[100][100];
Inti,j;
for(j=0;j<=99;j++)
for(i=0;i<=99;i++)
{ifi==ja[i][j]=1
elsea[i][j]=0;}
……
(B程序)inta[100][100];
inti,j;
for(i=0;i<=99;i++)
for(j=0;j<=99;j++)
{ifi==ja[i][j]=1
elsea[i][j]=0;}
……
试问:
(1)整个数组占用多少页面?
(2)采用FIFO算法进行页面调度,上述两个程序执行时,各产生多少次缺页中断?
【正确答案】:(1)整个数组占用50个页面:100× 10/200=50
(2)(A 程序)5000次缺页中断
(B程序)50次缺页中断
Top