2017年中国科学技术大学软件学院834软件工程基础[专业硕士]之计算机操作系统考研冲刺密押题
● 摘要
一、综合题
1. 何谓磁盘高速缓存? 在设计磁盘高速缓存时需要考虑哪些问题?
【答案】(1)磁盘高速缓存的定义
磁盘高速缓存是指在内存中为磁盘盘块设置的一个缓冲区,在缓冲区中保存了某些盘块的副本。当出现一个访问磁盘的请求时,由核心先去查看磁盘高速缓冲器,看所请求的盘块内容是否已在磁盘高速缓存中,如果在,便可从磁盘高速缓存中去获取,这样就省去了启动磁盘操作,而且可使本次访问速度提高几个数量级;如果不在,才需要启动磁盘将所需要的盘块内容读入,并把所需盘块内容送给磁盘高速缓存,以便以后又需要访问该盘块的数据时,便可直接从高速缓存中提取。
(2)在设计磁盘高速缓存时需要考虑的问题
①如何将磁盘高速缓存中的数据传送给请求进程;
②采用什么样的置换策略;
③已修改的盘块数据在何时被写回磁盘。
2. 在请求分页系统中,产生“抖动”的原因是什么?
【答案】发生“抖动”的根本原因是,同时在系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存。这会使得在系统中排队等待页面调进/调出的进程数目增加。显然,对磁盘的有效访问时间也随之急剧增加,造成每个进程的大部分时间都用于页面的换进,换出,而几乎不能再去做任何有效的工作,从而导致发生处理机的利用率急剧下降并趋于0的情况。我们称此时的进程是处于“抖动”状态。
3. 实现分时系统的关键问题是什么?应如何解决?
【答案】(1)实现分时系统的关键问题
为实现分时系统,必须解决的关键问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。
(2)解决方案
①及时接收问题
针对及时接收问题,解决办法是在系统中配置一个多路卡,多路卡的作用是使主机能同时接收不同用户从终端上输入的数据。此外,还须为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据)。
②及时处理问题
针对及时处理问题,各个用户的作业应该直接进入内存,并且规定每个作业只运行一个很短的时间片,然后暂停该作业的运行,并立即调度下一个作业运行。
4. 某系统的进程状态变迁图如所示(设系统的进程调度方式为可剥夺式)。
(1)说明一个进程发生变迁2、3、5的原因。
(2)当发生一个变迁时可能引起另一个变迁的发生,这两个变迁称为因果变迁。下述变迁是否会发生,如果有可能的话,在什么情况下发生?
(3)根据此状态变迁图说明该系统的调度策略、调度效果。
图 进程状态变迁图
【答案】(1)发生进程状态变迀2的原因是一个更高优先级的进程到达,发生进程状态变迀3的原因是进程等待I/O设备,发生进程状态变迁5的原因是高优先级的进程抢占CPU 。
(2)a 有可能发生,当某个进程因I/O而阻塞,从运行态转换到阻塞态时,恰好有一个进程状态转换为高优先级就绪,就会发生转换
中没有进程在运行。 b 不可能发生。系统中总会有一个进程在运行。在转换
列为空。
d 不可能发生。转换4发生时,系统中有一个高优先级的进程就绪,所以不可能调度一个低优先级的进程运行。
e 可能发生。一个因I/O设备阻塞的进程转换成高优先级就绪后,立刻被调度执行。
(3)从题目可以看出,该系统采用的不可剥夺优先级调度算法。这是一种按时间片轮转调度和优先调度相结合的调度策略。分两个就绪队列,首先从高优先就绪队列选择进程(时间片100ms ),当高优先级就绪队列为空时,则从低优先级就绪队列选择进程去运行。
调度效果是:
c 可能发生。低优先级的进程时间片用完,调度另一个低优先级进程,此时高优先级就绪队
优先照顾了I/O量大的进程,这样的进程处于高优先就绪队列中,当CPU 空闲时,首先从该队列选择进程去运行,所以I/O量大的进程被调度的机会多。
5. 什么是任务流时间和调度流时间?请举例说明之。
【答案】(1)任务流时间
把完成任务所需要的时间定义为任务流时间,例如,如图所示,图中有三台处理机P1〜P3和五个任务T1〜T5, 调度从时间0开始,共运行了7个时间单位,在处理机P1上运行任务T1和T2, 分别需要5个和1.5个时间单位;在处理机P2上运行任务T2和T1, 分别用了5个和2个时间单位;在处理机P3上运行任务T3、T4和T5, 每一个都需要2个时间单位。因此,完成任务T1共需要5+2=7个时间单位,而完成任务T2共需要5+15=6.5个时间单位。
图 任务流和调度流示意图
(2)调度流时间
在多处理机系统中,任务可以被分配到多个处理机上去运行。一个调度流时间是系统中所有处理机上的任务流时间的总和。在如图所示的例子中,在三台处理机上,调度流时间:T1流+T2流+T3流+T4流+T5流=7+6.5+2+2+2=19.5(个时间单位)。
6. 在微内核0S 中,为什么要采用客户/服务器模式?
【答案】由于客户/服务器模式具有数据的分布处理和存储;便于集中管理;灵活性和可扩充性;易于改编应用软件等优点。故在单机微内核操作系统中几乎无一例外地都采用客户/服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。
7. 0S 有哪几大特征? 其最基本的特征是什么?
【答案】不同操作系统具备各自不同的特征,如批处理系统有着高的资源利用率和系统吞吐量;分时系统能获得及时响应;实时系统具有实时特征。同时,它们也具有并发、共享、虚拟和异步这四种共同的基本特征。
(1)并发性 并发性
(2)共争性 共享
(3)虚拟性
“虚拟”是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
是指两个或多个事件在同一时间间隔内发生。 是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用,相应地,把这种资源的共同使用称为资源共享,或称为资源复用。