操作系统虚拟存储器的一道经典练习题 int a[100][100]

本文通过分析两种不同遍历方式的程序A和B,探讨了它们在特定虚拟存储系统中的缺页次数。程序A按行遍历,而程序B按列遍历。在相同条件下,程序A发生缺页50次,程序B则高达4901次。文章进一步讨论了不同的页面置换机制如何影响缺页次数。

有一个矩阵 int a[100][100],以行为先进行存储。假设有一个虚拟存储系统,物理内存有3页,其中1页用来存放程序,其余2页用于存放数据。

程序A
for (i=0;i<=99;i++)
for(j=0;j<=99;j++)
a[i][j]=0;
程序B
for(j=0;j<=99;j++) 
for (i=0;i<=99;i++) 
a[i][j]=0;
若每页可存放200个整数,程序A和程序B的执行过程各会发生多少次缺页?



答案:程序A缺页50次,程序B缺页4901次。


只讲B.  看下图:


这个程序还和调度算法有关。 上面讲的是缺页最少的情况。

如果采用FIFO页面置换机制,则缺页数为5000

讨论课样题 1.下列页面置换算法说法正确的有(B)。 I先进先出(FIFO)会产生Belady现象。 II.最近最少使用(LRU)会产生Belady现象。 III.在进程运行时,若它的工作集页面都在虚拟存储器内,则能够使该进程有效地运行,否则会出现频繁的页面调入/调出现象。 IV.在进程运行时,若它的工作集页面都在主存储器内,则能够使该进程有效地运行,否则会出现频繁的页面调入/调出现象。 A.I、II B.I、IV C.II、III D.III、IV 2.在一个请求分页系统中,采用LRU页面置换算法时,加入一个作业的页面走向为: 1,3,2,1,1,3,5,1,3,2,1,5。当分配给该作业的物理块数分别为3和4时,在访问过程中所发生的缺页率为()。 A.25%, 33% B. 25%, 100% C.50%, 33% D.50%,, 75% 3.有一个矩阵100x 200,即a[100][200]在一个虚拟系统中,采用LRU算法。系统分给该进程5个页面来存储数据(不包含程序),设每页可存放200个整数,该程序要对整个数组初始化,数组存储时是按行存放的。试计算下列两个程序各自的缺页次数(假定所有页都以请求式调入)(B) 程序一: for(i=0;i<= 99;i++) for(j=0;j<= 199;j++) A[i][j]=i*j 程序二: for(j=0; j<= 199;j++) for(i=0; i<= 99; i++) A[i][j]=i*j A.100, 200 B.100, 20000 C.200,100 D. 20000,100 解:外层改变行,内层改变列 程序一:对于外层循环一次后,内层循环都是在一行内运转的,也就是一页内运转的。 程序二:内循环是在行之间运行的,内层循环一次,程序运行页面需要换一个。 5.假定有一个请求分页存储管理系统,测得系统个相关设备的利用率为CPU为10%,磁盘交换区为99.7%;其他I/O设备为5%。试问:下面(B)措施可能改进CPU的利用率? I. 增大内存的容量 II.增大磁盘交换区的容量 III.减少多道程序的度数 V.使用更快速的磁盘交换区 IV.增加多道程序的度数 VI:使用更快速的CPU A.I、II、III、IV B.I、III C.II、III、V D.II、VI 解:I正确:增大内存可使每个程序得到更多的页面,能减少缺页率,因而减少换入换出过程,可提高CPU的利用率。 II错误:增大磁盘交换区的容量。因为系统实际已处于频繁的换入换出过程中,不是因为磁盘交换区容量不够,因此增大磁盘交换区的容量无用。 III正确:减少多道程序的度数。可以提高CPU的利用率,因为从给定的条件中磁盘交换区的利用率为99.7%,说明系统现在已经处于频繁的换入换出过程中,可减少主存中的程序。 V错误:使用更快速的磁盘交换区。因为系统现在处于频繁的换入换出过程中,即使采用更快的磁盘交换区,其换入换出频率也不会改变,因此没用。 IV错误:增加多道程序的度数。系统处于频繁的换入换出过程中,再增加主存中的用户进程数,只能导致系统的换入换出更频繁,使性能更差。 VI错误:使用更快速的CPU。系统处于频繁的换入换出过程中,CPU处于空闲状态,利用率不高,提高CPU的速度无济于事。 6.一个页式虚拟存储系统,其并发进程数固定为4个。最近测试了它的CPU利用率和用于页面交换的利用率,假设得到的结果为下列选项,(C)说明系统需要增加进程并发数? I. CPU利用率13%;磁盘利用率97% II. CPU利用率97%;磁盘利用率3% III.CPU利用率13%;磁盘利用率3% A.I B.II C.III D.I、III 解:A.系统在抖动,增加并发进程数反而会恶化系统性能。 B.系统正常,不需要采取什么措施 C.CPU没有充分利用 10.考虑页面替换算法,系统有m个页帧供调度,初始时全空;引用串长度为p,包含了n个不同的页号,无论用什么算法,缺页次数不会少于(C)。 A. m B.p C.n D. min(m, n) 解:缺页次数不会少于页数,因为要调入内存。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值