第四章 处理机调度
4.3 习题
4.3.1 选择最合适的答案
1.某系统采用了银行家算法,则下列叙述正确的是( )。 A.系统处于不安全状态时一定会发生死锁 B.系统处于不安全状态时可能会发生死锁 C.系统处于安全状态时可能会发生死锁 D.系统处于安全状态时一定会发生死锁
2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是( )。
A.Max[i,j]=Allocation[i,j]+Need[i,j] B.Need[i,j]= Allocation[i,j]+ Max[i,j] C.Max[i,j]= Available[i,j]+Need[i,j] D.Need[i,j]= Available[i,j]+ Max[i,j]
3.下列进程调度算法中,( )可能会出现进程长期得不到调度的情况。 A.非抢占式静态优先权法 B.抢占式静态优先权法 C.时间片轮转调度算法 D.非抢占式动态优先权法
4.在下列选项中,属于预防死锁的方法是( )。 A.剥夺资源法
B.资源分配图简化法 D.银行家算法
C.资源随意分配
5.在下列选项中,属于检测死锁的方法是( )。 A.银行家算法
B.消进程法 D.资源分配图简化法
C.资源静态分配法
6.在下列选项中,属于解除死锁的方法是( )。 A.剥夺资源法 C.银行家算法
B.资源分配图简化法 D.资源静态分配法
7.为了照顾紧迫型作业,应采用( )。 A.先来服务调度算法 C.时间片轮转调度算法
B.短作业优先调度算法 D.优先权调度算法
8.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则
此时的优先权调度算法实际上和( )相同。
A.先来先服务调度算法
B.短作业优先调度算法
C.时间片轮转调度算法 D.长作业优先调度算法 9.作业从后备作业到被调度程序选中的时间称为( )。 A.周转时间
B.响应时间 D.运行时间
C.等待调度时间
10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的( )不成立。 A.互斥条件
B.请求和保持条件
C.不可剥夺条件 D.环路等待条件
4.3.2 选择所有正确答案
1.下列选项中,( )可能是非抢占方式进程调度中引起调度的原因。 A.当前的运行进程调用阻塞原语而进入阻塞状态 B.当前的运行进程提出申请I/O而阻塞
C.有更高优先级的进程到达而从执行状态变为就绪状态 D.正在执行的进程执行了P原语操作,由于资源不足而阻塞
2.选择排队作业中等待时间最长的作业被优先调度,该调度算法不可能是( )。 A.先来先服务调度算法 C.优先权调度算法
B.高响应比优先调度算法 D.短作业优先调度算法
3.作业控制块JCB连成一串而形成的一个排队队列,该队列称为( )。 A挂起队列 C.就绪队列
B.阻塞队列 D.后备队列
4.下列哪个选项描述的时间属于响应时间的一部分( )。 A.处理机对请求信息进行处理的时间 B.从键盘输入的请求信息传送到处理机的时间 C.所形成的响应回送到终端显示器的时间 D.用户查看响应回送到的信息
5.下列四个选项描述的时间组成了周转时间,其中可能发生多次的是( )。 A.等待I/O操作完成的时间
B.作业在外存后备队列上等待作业调度的时间 C.进程在CPU上的执行时间
D.进程在就绪队列上等待进程调度的时间
6.下面列出的是选择调度方式和算法的4个面向用户的准则。其中,不完全适用于实时系统的准则是( )。
A.优先权准则
B.响应时间快
C.截止时间的保证 D.周转时间短
7.下面列出了选择调度方式和算法的4个准则。其中,对批处理、分时、实时系统都可以采用的是( )。
A.周转时间短
B.响应时间快
D.优先权准则
C.截止时间的保证
8.下列选项中,( )是分时系统中确定时间片大小需要考虑的因素。 A.各类资源的平衡利用 C.系统的处理能力
B.就绪队列中进程的数目 D.系统对响应时间的要求
9.下面列出的选项中,属于可剥夺性资源的有( )。 A.CPU C.磁盘
B.内存 D.磁带机
10.在多级队列调度和多级反馈队列调度的叙述中,正确的是( )。
A.多级反馈队列调度中就绪队列的设置不是象多级队列调度一样按作业性质划分,而是按时间片的大小划分
B.多级队列调度用到优先权,而多级反馈队列调度中没有用到优先权
C.多级队列调度中的进程固定在某一个队列中,而多级反馈队列调度中的进程不固定
D.多级队列调度中每个队列按作业性质不同而采用不同的调度算法,而多级反馈队列调度中除了个别队列外,均采用相同的调度算法
4.3.3 判断正误,简要说明理由
1.作业调度能够使作业获得CPU。
2.在多道程序系统中,系统的现有空闲可用资源能否满足一个后备作业J的资源要求,是选择作业J进入内存的必要条件。
3.短作业(进程)优先调度算法具有最短的平均周转时间,因此这种算法是最好的算法。
4.在优先权调度算法中确定静态优先权时,一般说,计算进程的优先权要高于磁盘I/O进程的优先权。
5.摒弃不可剥夺条件的方法可用于预防多个打印进程死锁的发生。
6.操作系统处理死锁,只要采用预防、解除、检测、避免之中的一种就足够了。 7.如果系统在所有进程运行前,一次性地将其在整个运行过程所需的全部资源分配给进程,即所谓“静态分配”法,是可以预防死锁发生的。
8.多个进程竞争比进程数目少的资源时就可能产生死锁,而当资源数目大于进程数目时就一定不会发生死锁。
9.在银行家算法中,对某时刻的资源分配情况进行安全分析,如果该时刻状态是安全的,则存在一个安全序列,且这个安全序列是唯一的。
10.进程调度算法各种各样,但是如果选择不当,就会造成死锁。
4.3.4 简答题
1.高级调度和低级调度的主要任务是什么?为什么要引入中级调度? 2.在作业调度中需作出哪些决定? 3.在剥夺调度中,有哪些剥夺原则? 4.在OS中引起进程调度的主要因素有哪些?
5.在选择调度方式和调度算法时,应遵循的原则是什么?
6.在批处理系统、分时系统和实时系统中,各采用哪几个进程(作业)调度算法? 7.为什么说多级反馈队列能较好地满足各种用户的需要?
8.在多用户分时系统中,时间片轮转调度的算法在确定时间片的大小时,应考虑哪些因素?
9.为实现实时调度,对实时系统提出了哪些要求? 10.目前常用的调度方式和算法,能否应用到实时系统中? 11.在多处理机系统中,比较有代表性的线程调度方式有哪几种? 12.试比较自调度和成组调度?
13.在OS/2中采用哪种调度方式和调度算法? 14.何为死锁?产生死锁的原因和必要条件是什么?
15.在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高?
16.请详细说明可通过哪些途径预防死锁?
17.在银行家算法的例子中,如果P0发出的请求向量由Request0(0,2,0)改为Request0(0,1,0),问系统可否将资源分配给它?
4.5 考研试题精选及解析
1.在银行家算法中,若出现以下资源分配情况:(北京理工2002死锁题)
问:1 该状态是否安全?
allocation claim Process A B C A B C P0 0 1 0 7 5 3 P1 2 1 0 3 2 2 P2 P3 P4 3 0 2 2 1 1 0 0 2 9 0 2 2 2 2 4 3 3 available A B C 3 2 2 2 若进程依次有以下资源请求: p1 资源请求:Request(1,0,2) p4 资源请求:Request(3,3,0) p0 资源请求:Request(0,1,0) 则系统如何分配资源可避免死锁?
2.一个操作系统有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某进程获得它所需要的全部资源,则立即归还所有资源。每个进程最多使有3个资源。若仅考虑这类资源,该系统有可能产生死锁,为什么?(北京大学1995年死锁题)
解:在本题中,若仅考虑这一类资源的分配,则不会产生死锁。因为死锁产生的原因有两点:系统资源不足或进程推进顺序不当。在本题介绍的系统中,进程所要的最大资源数为:20×3=60,而系统中共有该类资源65个,其资源数目已足够系统内的各地进程使用,因此绝不可能发生死锁。
3.一台计算机有8台磁带机。它们由N个进程竞争使用,每个进程可能需要3台磁带机。请问N为多少时,系统没有死锁危险,并说明原因。(上海交通大学1999年死锁题) 解:当N为1,2,3时,系统没有产生死锁的危险。因为,当系统中只有1个进程时,它最多需要3台磁带机,而系统有8台磁带机,其资源数目已足够系统内的1个进程使用,因此绝不可能发生死锁;当系统中有2个进程时,最多需要6台磁带机,而系统有8台磁带机,其资源数目也足够系统内的2个进程使,因此也不可能发生死锁;
当系统中有3个进程时,在最坏情况下,每个进程都需要3个这样的资源,且假定每个进程都已申请到了2个资源,那么系统中还剩下2个,无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的3个资源归还给系统,这就保证了其余进程能顺利运行完毕.由此可知当N为1,2,3时,该系统不会由于对这种资源的竞争而产生死锁。
4.假定某计算机系统有R1和R2两类可再使用资源(其中R1有两个单位,R2有一个单位),它们被进程P1,P2所共享,且已知两个进程均以下列顺序使用两类资源: →申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→
试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图。(南开大学1994年死锁题)
解:在本题中,当两个进程都执行完第1步后,即进程P1和进程P2都申请到了一个R1类资源时,系统进入不安全状态。随着两个进程的向前推进,无论哪个进程执行完第2步,系统都将进入死锁状态。
可能到达的死锁点是:进程P1占有一个单位的R1类资源及一个单位的R2类资源,进程