2017年清华大学计算机科学与技术系408计算机学科专业基础综合之计算机操作系统考研冲刺密押题
● 摘要
一、应用题
1. 考虑下列程序
假设矩阵A , B 的初始值已置好,矩阵C 初始为0, 各矩阵均以页为单位连续存放,又假定一
,代码以及变量i 、j 、k 放在其他页面里,并且存取变量i 、j 、k 时不个整数占用一个字(2字节)
缺页。主存初始为空,在请求分页存储管理中,页面淘汰算法为FIFO 。
(1)作业分配10个页面,每个页面为100个字,给矩阵A 、B 、C 使用。问执行上面的程序时,缺页次数是多少?当程序执行完时,留在内存的10个页面各属于哪些矩阵?
(2)当为作业分配两个页面,每个页面为500个字,给矩阵A 、B 、C 使用。问执行上面程序时,缺页次数是多少?
【答案】假设矩阵的存储是按行存储的,且每页均从页面首地址开始存放。
(1)矩阵A 占用150页,矩阵B 占用300页,矩阵C 占用200页。设矩阵A 占用的页面为1至150页,矩阵B 占用的页面为151至450页,矩阵C 占用的页面为451至650页。
程序对矩阵A 和C 的访问是按顺序访问,即从第1个元素开始依次访问矩阵中的所有元素。这样,程序对矩阵A 和C 的访问总是按矩阵在存储器内存放的顺序访问。程序对矩阵B 的访问是按列访问,即顺序访问每一元素后,再顺序访问每一列的第2个元素,如此直至访问所有的元素。这样,由于矩阵B 每行占用两页,因此每次对矩阵B 的访问都要访问与前一次不同的一页。
程序中运算式的执行次数为3000000次,每次需要依次访问矩阵A 、B 和C 。只要不跨页,每次访问矩阵A 和C 时无须调入新页,但访问矩阵B 时每次都需调入新页。这是因为矩阵B 有150行,每行都在不同的页,系统只有10个页面,所以每次访问矩阵B 时所需页面都不可能在系统中。
采用FIFO 算法,对于题中的页面访问过程,页面调度过程如下。
从上面的调度过程可以看出,当循环次数为时,读A , 读B 与读C/写C 都会发生缺页,其他情况只有读B 会发生缺页。前一种情况是由于矩阵B 所用的页面占用了所有的内存中的页面而造成的。后一种情况是由于读矩阵A 或C 时某一页面上数据已用完而读入下一页所致。根据这个规律,可以得出发生缺页的次数为
最后留在内存中的10个页面,其中1个属于矩阵A ,8个属于矩阵B ,1个属于矩阵C 。(2)若每页500个字,则矩阵A 占用30页,矩阵B 占用60页,矩阵C 占用40页。由于内存中只有两个页面,因此每次访问都会发生缺页,发生缺页的次数为
2. 输入进程I 和用户进程P 采用双缓冲技术交换数据。输入进程I 首先填满Bufl ,用户进程P 从Buf1提取数据的同时,输入进程I 填充Buf2。当Buf1出空时,输入进程I 又可填充Buf1; 同样,当Buf2填满时,用户进程P 又可从Buf2提取数据。如此两进程交替使用两缓冲区。试用P 、V 操作实现两进程之间的同步。
【答案】
二、综合题
3. 什么是微内核0S?
【答案】微内核(Micro Kernel)操作系统结构是20世纪80年代后期发展起来的。它能有效地支持多处理机运行,非常适用于分布式系统环境,微内核OS 主要有以下四个方面的特征:
(1)足够小的内核
能实现现代OS 最基本的核心功能的部分,微内核并非是一个完整的OS , 而只是操作系统中最基本的部分。
(2)基于客户/服务器模式
将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。
(3)应用“机制与策略分离”原理
在传统的OS 中,将机制放在OS 的内核的较低层,把策略放在内核的较高层次中。而在微内核操作系统中,通常将机制放在OS 的微内核中。正因为如此,才有可能将内核做得很小。
(4)采用面向对象技术
确保操作系统的“正确性”、 “可靠性”、 “易修改性”、 “易扩展性”等,并提高操作系统的设计速度。
4. 什么是任务流时间和调度流时间?请举例说明之。
【答案】(1)任务流时间
把完成任务所需要的时间定义为任务流时间,例如,如图所示,图中有三台处理机P1〜P3
相关内容
相关标签