有矩阵:VAR  A:ARRAY[1‥100,1‥100]  OF  integer;元素按行存储。在一虚存系统中,采用LRU淘汰算法,一个进程有3页内存空间,每页可以存放200个整数。其中第1页存放程序,且假定程序已在内存。  程序A:  FOR i:=1 TO 100 DO       FOR j:=1 TO 100 DO         A[i,j]:=0; 程序B:   FOR j:=1 TO 100 DO        FOR i:=1 TO 100 DO          A[i,j]:=0;

题目

有矩阵:VAR  A:ARRAY[1‥100,1‥100]  OF  integer;元素按行存储。在一虚存系统中,采用LRU淘汰算法,一个进程有3页内存空间,每页可以存放200个整数。其中第1页存放程序,且假定程序已在内存。  程序A:  FOR i:=1 TO 100 DO       FOR j:=1 TO 100 DO         A[i,j]:=0; 程序B:   FOR j:=1 TO 100 DO        FOR i:=1 TO 100 DO          A[i,j]:=0;  分别就程序A和B的执行进程计算缺页次数。

参考答案和解析
正确答案:题中100×100=10000个数据,每页可以存放200个整数,故一共存放在50个页面中。由于元素按行存储,第1行、第2行放在第1页,…,第99行、第100行放在第50页。故对于程序A,缺页中断为50次。对于程序B,缺页中断为5000次。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

试题(3)、(4)

某虚拟存储系统采用最近最少使用(LRU)页面淘汰算法,假定系统为每个作业分配4个页面的主存空间,其中一个页面用来存放程序。现有某作业的程序如下:

Var A: Array[1..100,1..100] OF integer;

i,j: integer;

FOR i:=1 to 100 DO

FOR j:=1 to 100 DO

A[i,j]:=0;

设每个页面可存放200个整数变量,变量i、j存放在程序页中。初始时,程序及i、j均已在内存,其余3页为空。若矩阵A按行序存放,那么当程序执行完后共产生 (3) 次缺页中断;若矩阵A按列序存放,那么当程序执行完后共产生 (4) 次缺页中断。

(3)A. 50 B. 100 C. 5000 D. 10000

(4)A. 50 B. 100 C. 5000 D. 10000


正确答案:A,C
试题(3)、(4)分析
本题考查计算机存储管理方面的基本知识。
矩阵A[100][100]总共有100行、100列,若矩阵A按行序存放,那么每一个页面可以存放2行,也就是说矩阵的2行刚好放在1页内,访问他们需要中断1次,这样100行总共需要中断50次。
若矩阵A按列序存放,那么每一个页面可以存放2列,也就是说矩阵的2列刚好放在1页内,由于内循环“FOR j:=1 to 100 DO”是按列序变化,访问他们需要中断50次,这样100行总共需要中断50×100次。
参考答案
(3)A (4)C

第2题:

有一个虚拟页式存储系统采用最近最少使用(LRU)页面置换算法,系统分给每个进程3页内存,其中一页用来存放程序和变量i,j(不作他用)。假设一个页面可以存放150个整数变量。某进程程序如下: VARA:ARRAY[1..150, 1..100] OF integer; i,j:integer; FOR i:=1 to 150 DO FOR j:=1 to 100 DO A[i,j]:=0; 设变量i,j放在程序页面中,初始时,程序及变量i,j已在内存,其余两页为空。矩阵A按行序存放。试问当程序执行完后,共缺页多少次?

A.150

B.100

C.250

D.101


正确答案:B

第3题:

以下程序的功能是 : 输出 100 以内 ( 不含 100) 能被 3 整除且个位数为 6 的所有整数,请填空。

main()

{ int i,j;

for(i=0; 【 1 3 】 ;i++)

{ j=i*10+6;

if( 【 1 4 】 )continue;

printf(" % d ",j);

}

}


正确答案:
(13) 【 13 】 i<10
【 14 】 j%3!=0
解析 : (j=i*10+6)<100, 所以 i 的范围是 0-9 之间。 j=i*10+6 满足了个位数为 6 的要求 , 因此这个条件应该满足能被 3 整除这个要求。

第4题:

下列程序共执行了______次循环。Private Sub Command1_ Click () Dim intsum As Integer Dim i AS Integer Dim j As Integer i = 1 j = 1 do do intsum = intsum + j =j+2 Print j; Loop until j >3 i = i+1 Loop until i>17 Print Print intsumEnd Sub

A.14

B.15

C.14

D.13


正确答案:A
解析:本题的难点是判断循环非正常退出。do ... Loop until循环是先执行后判断。

第5题:

本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。 void bubble(int a[],int n) {int i,j,max,temp; max=n-1; do{j=0; for(i=0;i<max;i++) if(a[i]<a[i+1]) {temp=a[i];a[i]=a[i+1];a[i+1]=temp; j=i; } max=j; }while(( )); }


正确答案:max>0
max>0 解析:本题是典型的冒泡排序题,每一次for循环将从数组a中找出剩下数中的最大的值放在这些数的最前端,若数组a中有n个数,则完成数组排序共需n-1次循环。令max=n-1,每次循环后i值增1,imax条件不足,即n-1次循环后,此时i=j=max=0,循环结束。

第6题:

( 21 )有程序编制如下。数组中的每个元素为一个字。假设页面大小 为每页 128 个字 ,数组中的每一行元素存放 在一页中。系统为该程序提供一块内存,开始时内 为空 。

VAR A : ARRAY [1..2 56 , 1 .. 128 ] OF integer ;

FOR j : = 1 TO 128 DO

FOR i: = 1 TO 256 DO

A[i, j] : = 0 ;

该程序执行 时共产生多少次缺页中断?

A ) 128

B ) 256

C ) 128 × 28

D ) 128 × 256


正确答案:D

第7题:

有以下程序:includeusing namespace std;int main(){ inty=18,i=0,j,a[8]; do{ a[i]=

有以下程序: #include <iostream> using namespace std; int main() { int y=18,i=0,j,a[8]; do{ a[i]=y%2; i++; y=y/2; }while(y>=1); for(j=i-1;i>=0;j--) cout<<a[j]; cout<

A.1000

B.10010

C.110

D.10100


正确答案:B
解析:本题考核一维数组元素的引用和一维数组的输出。程序中的do-while循环语句的执行过程如下:第1次循环时,i=0、y=18,把“y%2”的值0存入a[0],执行i++后,i的值变为1,再执行y=y/2;,使y的值变为9。同理,第2次循环后,a[1]的值为1,第3次循环后,a[2]的值变为0,第4次循环后,a[3]的值变为0,第5次循环后,a[4]的值为1,然后退出do-while循环体。for循环是输出从a[4]到a[0]的值,结果为:10010。

第8题:

有程序段 for i:=1 to 10 do begin j:=i mod 4; case j of 0:x:‘a‘; 1:x:=‘b‘; 2:x:=‘c‘; 3:x:=‘d‘ end; end; for i:=1 to 10 do write(x:1); writeln; 输出应为( )。

Abcdabcdabc

Babcdabcdab

Ccdabcdabcd

Ddabcdabcda


正确答案:A

第9题:

如下程序实现为100×100的矩阵初始化为0,假定矩阵按列存放,开始时内存为空,程序和相关变量常驻内存,若分配给矩阵a的内存块为1页,页面大小为每页100个整数字。程序如下; int I,j,a[100][100]; for(j=0;j<100;j++) for (I=0;I<100;I++) a[1][j]=0; 则程序运行完毕发生的缺页中断次数为( )。

A.99

B.100

C.100*100

D.不能确定


正确答案:B
解析:由于分配给矩阵的内存块为1页,.而每页大小为100个整数字,在此题环境中,由于程序及变量已经在内存中并常驻内存,不会发生缺页中断,只有当程序需要的数据所在页面不在内存中时,才会引起缺页中断,因为页面大小为100个整数字,每次缺页中断调取100个整数字进入内存,刚好为数组的一列程序,所以当以上程序运行完毕时,共需要调取100列数据,共发生100次缺页中断。

第10题:

【程序说明】 程序功能是求1到100之间的所有素数。

【程序】

SET TALK OFF

CLEAR

J=2

DO WHILE J<=100

I=2

DO WHILE (5)

IF MOD(J,I)=0

(6)

ENDIF

I=I+1

ENDDO

IF (7)

?J

ENDIF

J=J+1

(8)

SET TALK ON

RETURN

(5)

A.I>J

B.I>=J

C.I<J

D.I<=J


正确答案:D

更多相关问题