末试卷B(有答案)
一、选择题
1、在系统内存中设置磁盘缓冲区的主要11的是( )。 A.减少磁盘1/0次数, B.减少平均寻道时间 C.提高磁盘数据可靠性 D.实现设备无关性
2、驱动调度算法中,( )算法可能会随时改变移动臂的运动方向。 A.电梯调度 B.最短寻道时间优先 C.扫描 D.单向扫描
3、采用时间片轮转调度算法分配CPU时,当处于执行状态的进程用完一个时间片后,它的状态是( )
A.阻塞 B.运行 C.就绪 D.消亡
4、有5个批处理任务A、B、C、D、E几乎同时到达一计算中心。它们预计运行的时间分别是10min,6min,2min、4min和8min。其优先级(由外部设定)分别为3,5,2,1和4,这里5为最高优先级。下列各种调度算法中,其平均进程周转时间为14min的是( )。
A.时间片轮转调度算法 B.优先级调度算法
C.先来先服务调度算法 D.最短作业优先调度算法
5、在操作系统中,一方面每个进程具有独立性,另一方面进程之间具有相互制约性。对于任何两个并发进程,它们( )。
A.必定无关 B.必定相关 C.可能相关 D.可能相同 6、下面关于虚拟存储器的论述中,正确的是( )。
A.在段页式系统中以段为单位管理用户的逻辑地址空间,以页为单位管理内存的物理地址空间,有了虚拟存储器才允许用户使用比内存更大的地址空间
B.为了提高请求分页系统中内存的利用率,允许用户使用不同大小的页面 C.为了能让更多的作业同时运行,通常只装入10%~30%的作业即启动运行 D.最佳置换算法是实现虚拟存储器的常用算法
7、某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空),采用最佳适配(Best Fit)算法,分配和释放的顺序为:分配15MB,分配30MB,释放15MB.分配8MB.分配6MB,此时主存中最大空闲分区的大小是( )。 A.7MB B.9MB C.10MB D.15MB
8、所谓( ),是指将一个以上的作业放入内存,并且同时处于运行状态。这些作业,共享处理器的时间和外设及其他资源。 A.多重处理 B.多道程序设计 C.实时处理 D.并行执行
9、下列指令中,不能在用户态执行的是( )
A.trap指令 B.跳转指令 C.压栈指令 D.关中断指令
10、I/O交通管制程序的主要功能是管理( )的状态信息。 A.设备、控制器和通道 B.主存、控制器和通道 C.CPU、主存和通道 D.主存、辅存和通道
11、某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块人小相同,把一个磁盘块读入缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs.CPU对一块数据进行分析的时间为50us。在单缓冲区和双缓冲区结构ド,读入并分析完该文件的时间分别是( )。 Α.1500μs,1000μs B.1550μs,1100μs C.1550μs,1550μs D.2000μs,2000μs
12、下列天于管道(Pipe)通信的叙述中,正确的是( ) A.一个管道可实现双向数据传输 B.管道的容量仅受磁盘容量大小限制
C.进程对管道进行读操作和写操作都可能被阻塞
D.一个管道只能有一个读进程或一个写进程对其操作
二、填空题
13、MS-DOS启动的方式有两种:__________和__________
14、在响应比更高者优先的作业调度算法中,当各个作业等待时间相同时,计算__________的作业将得到优先调度
15、传统操作系统提供编程人员的接口称为__________
16、UNIX的shell有两层含义,一是指由shell命令组成的Shell命令__________;二是指该命令的__________。
17、能使计算机系统接收到__________后及时进行处理,并在严格的规定时间内处理结束,再给出__________的操作系统称为“实时操作系统”。
18、死锁的四个必要条件是互斥使用资源,占有等待资源,__________和__________。 19、不可中断的过程称为__________。
20、操作系统中,进程可以分为__________和__________两类。
三、判断题
21、在作业调度时,采用最高响应比优先的作业调度算法可以得到最短的作业平均周转时间. ( )
22、特殊文件是指其用途由用户特殊规定的文件. ( ) 23、打印机是一类典型的块设备. ( )
24、进程获得处理机而运行是通过申请而得到的. ( )
25、优先数是进程调度的重要依据,优先数大的进程首先被调度运行:( ) 26、固定头磁盘存储器的存取时间包括搜查定位时间和旋转延迟时间. ( )
27、不可抢占式动态优先数法一定会引起进程长时间得不到运行. ( ) 28、用户程序有时也可以在核心态下运行. ( ) 29、选择通道主要用于连接低速设备. ( )
30、由于P、V操作描述同步、互斥等问题的能力不足,所以有必要引入其它的通讯原语或机制,如send,receive或Monitor等. ( )
四、名词解释题
31、可再现性:
32、作业:
33、死锁:
34、抖动:
35、当前目录:
36、输入井:
五、简答题
37、进程有哪几种基本状态试描绘出进程状态转换图?
38、在设备管理中,按照设备共享特性分成哪几种类型比较合理,并分别举例说明。
39、处理机调度分为哪三级?各自的主要任务是什么?
40、试述分区管理方案的优缺点
41、试说明和比较几种文件共享的方法绕弯路法?
六、综合题
42、以下分别是对中断、中断处理、中断响应、关中断、开中断、中断屏蔽、陷入、软中断的解释,请在解释文字前的括号中填入止确的概念。
()中断请求能否参加判优,需根据屏蔽字的状态决定,若某屏蔽为1,其对应的请求无效,不可参加判优。
()当允许中断标志为1时,表明现行程序的优先级低于所有中断请求的优先级,因此一旦出现中断请求,CPU便能响应。 ()系统调用引发的事件。
()对中断请求的整个处理过程是由硬件和软件结合起来而形成的一套中断机构实施的。发生中断时,CPU暂停执行当前的程序而转去处理中断。该过程由硬件对中断请求做出反应。
()CPU对系统发生的某个时间做出的一种反应,即CPU暂停正在执行的程序,保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点,继续执行被“打断”的程序。
()利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果 ()大致分为4个阶段:保存被中断程序的现场,分析中断原因,转入相应处理程序进行处理,恢复被中断程序的现场,
()为保证在中断周期中,指令操作的执行不受外部干扰,将允许中断标志位清0,即表明现行程序的优先级比所有请求的优先级都高,任何请求都不响应。
43、某进程调度程序采用基于优先数(priority)的调度策略,即选择优先数最小的进程运行,进程创建时由用户指定一个nice作为静态优先数。为了动态调整优先数,引入运行时间cpuTime和等待时间 waitTime,初值均为0。进程处于执行态时,cpuTime定时加1.H waitTime置0:进程处于就绪态时,cpuTime置0,waitTime定时加1。请回答下列问题。
1)若调度程序只将nice的值作为进程的优先数,即priority=nice,则可能会出现饥饿现象,为什么?
2)使用nice、cpuTime和 waitTime设计一种动态优先数计算方法,以避免产生饥饿现象,并说明waitTime的作用。
44、4个哲学家甲、乙、丙、丁,坐在圆桌前思考问题。甲乙间有筷子0,乙丙间有筷子1,依次类推。每个哲学家饥饿时,就试图取用两边的筷子,只有两根筷了都被拿到才开始进餐。请用P、V操作写出哲学家活动的同步执行程序。
45、在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间为t,CPU将对一块数据进行处理的时间为c,将缓冲区的数据传送到用户区所花时间为m,那么在单缓冲和双缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?
参考答案
一、选择题
1、A 2、B 3、C 4、D 5、C 6、A 7、B 8、B 9、D 10、A 11、B 12、C
二、填空题
13、【答案】冷启动、热启动 14、【答案】时间短 15、【答案】系统调用 16、【答案】语言、解释程序 17、【答案】外部信号、反馈信号
18、【答案】不可抢夺资源(或循环等待资源)、循环等待资源(或不可抢夺资源) 19、【答案】原语
20、【答案】系统进程、用户进程
三、判断题
21、【答案】:错 22、【答案】:错 23、【答案】:错 24、【答案】:错 25、【答案】:错 26、【答案】:错 27、【答案】:错 28、【答案】:错 29、【答案】:错 30、【答案】:错
四、名词解释题
31、可再现性:
是指程序的执行结果与程序运行的速度无关4进程:程序在并发环境中的执行过程。 32、作业:
用户在一次上机过程中要求计算机系统所做工作的集合。 33、死锁:
在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。 34、抖动:
刚被调出的页面又立即要用而装入,而装入后不久又被调出,如此反复,使调度非常频繁, 35、当前目录:
为节省文件检索的时间,每个用户可以指定一个目录作为当前工作目录,以后访问文件时,就从这个目录开始向下顺序检索。这个目录就称作当前目录。 36、输入井:
是指为使设备与cpu速度相匹配,系统在磁盘上设置的多个缓冲区,以实现设备与cpu之间的数据交换。输入井主要用来存放由输入设备输入的信息。
五、简答题
37、答:进程有运行态,就绪态和阻塞态三种基本状态,三种基本状态的转换图如图1所示,图中数字1的含义是:进程被调度进程选中,数字2的含义是:时间片用完,数字3的含义是:等待某事件发生,数字4的含义是:等待的事件已发生
38、答:按照是否可共享,可以分成独占设备和共享设备两类,独占设备不能让多个程序同时使用,共享设备可以同时让多个程序使用。打印机属于独占设备,如果多个程序同时使用打印机,则打印出来的数据就可能会随机混合交叉在一起,所以打印机只能让一个程序独占。而磁盘属于共享设备,多个程序同时在磁盘上打开文件是可以的。
39、答:作业调度:从一批后备作业中选择一个或几个作业,给它们分配资源,建立进程,挂入就绪队列。执行完后,回收资源。进程调度:从就绪进程队列中根据某个策略选取一个进程,使之占用CPU交换调度:按照给定的原则和策略,将外存交换区中的进程调入内存,把内存中的非执行进程交换到外存交换区。
40、答:优点:算法较简单,容易实现,内存开销少,存储保护措施简单.缺点:内存使用不充分,存在较严重的碎片问题,
41、答:利用基本文件目录实现文件共享:基于索引节点的共享方法:利用符号链实现文件共享:
六、综合题
42、【解析】中断屏蔽、开中断、陷入、中断响应、中断、软中断、中断处理、关中断。 43、【解析】
1)由于采用了静态优先数,当就绪队列中总有优先数较小的进程时,优先数较大的进程一直没有机会运行,因而会出现饥饿现象。
2)优先数 priority的计算公式为priority=nice+k1×cpuTime-k2×waitTime,其中kl>0,k2>0,用来分别调整cpuTime和waitTime在priority中所占的比例。waitTime可使长时间等待的进程优先数减小,从而避免出现饥饿现象。
44、【解析】设置4个信号量:chopstick0,chopstickl、chopstick2 和 chopstick3,初值为1,分别表示筷了是否可用。Po~P3表示4人活动的进程。
Semaphore chopsticko=chopstickl=chopstick2=chopstick3=1; P0() {
While(true) {
P(chopstick3) P(chopstick0); V(chopstick3); V(chopstickD); While(true) {
P(chopstick1) P(chopstick0); V(chopstickl); V (chopstick0); P2() {
While(true) {
P(chopstick1): P(chopstick2); V(chopstickl); V(chopstick2); P3() While(true) {
P(chopstick3): P(chopstick2): v(chopstick3); v(chopstick2) } }
本题是典型的哲学家进餐问题。为避免4个哲学家间时饥饿而各白拿起一根筷子,结果都因陷入无限期等待而死锁,本题采用的方法是甲、丙先拿起各自右边的筷子,然后拿左边的筷子,而乙、丁则相反(设想哲学家都面对圆桌而坐)。另外,解决死锁的方法还有:①至多只允许(n-1)个哲学家同时进餐,以保证至少一个哲学家能拥有两根筷了而可以进餐,最终会释放出他所使用的筷子,从而更多人可以进餐。②仅当哲学家的左右两根筷子同时可用时,才允许其拿起筷子进餐。
下面给出至多允许3个哲学家进餐的解法,其中使用了信号量数组(信号量数组易于理解,书中没有展开详细叙述):
semaphore chopstick[4]=(1,1,1,1); semaphore S=3; P(i) While(true) { P(s):
P(chopstick[i]);
P(chopstick[i+3]mod 4); V(chopstick[i]);
V(chopstick[i+3]mod 4); V(s): } }
45、【解析】在无缓冲的情况下,为了读取磁盘数据,应先从磁盘把一块数据输入到用户数据区,所花费的时间为T:然后再由CPU对这块数据进行计算,计算时问为C.所以每一块数据的处理时间为T+C。
在单缓冲的情况下,应先从磁盘把一块数据输入到缓冲区,所花费的时间为T:然后由操作系统将缓冲区的数据传送到用户区,其所花费的时间为M:接下来,便由CPU对这一块数据进行计算,计算时间为C.由于第i次读磁盘数据送至缓冲区时,系统同时读出用户区中第i-1次数据计算,此两项操作可以并行,并与数据从缓冲区传送到用户区的操作串行进行,因此\"一块数据的处理时间为MAX(C,T)+M.
在双缓冲的情况下,应先从磁盘把一块数据输入到第一个缓冲区,当装满第一个缓冲区后,操作系统可以将第一个缓冲区的数据传送到用户区并对第一块数据进行计算,与此同时可以将磁盘输入数据送入第二个缓冲区:当计算完成后,若第二个缓冲区已装满数据,则又可以将第二个缓冲区中的数据传送至用户区并对第二块数据进行计算,与此同时可以将磁盘输入数据送入第一个缓冲区,如此反复交替使用两个缓冲区。
其中将数据从缓冲区传送到用户区的操作与用户区数据处理是串行的,它们又可以与从磁盘传送数据到缓冲区的操作并行,因此人约耗时为max(c+m,t)。考虑到内存中数据块的“搬家”耗时非常短、因此m可以忽略,故近似看成是max(c,t)。
因篇幅问题不能全部显示,请点此查看更多更全内容