人教部编第四章处理机调度习题doc.docx
《人教部编第四章处理机调度习题doc.docx》由会员分享,可在线阅读,更多相关《人教部编第四章处理机调度习题doc.docx(14页珍藏版)》请在冰豆网上搜索。
人教部编第四章处理机调度习题doc
第四章处理机调度
一.选择最合适的答案
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.资源分配图简化法
C.资源随意分配D.银行家算法
5.在以下选项中,属于检测死锁的方法是〔〕。
A.银行家算法B.消进程法
C.资源静态分配法D.资源分配图简化法
6.在以下选项中,属于解除死锁的方法是〔〕。
A.剥夺资源法B.资源分配图简化法
C.银行家算法D.资源静态分配法
7.为了照顾紧迫型作业,应采用〔〕。
A.先来服务调度算法B.短作业优先调度算法
C.时间片轮转调度算法D.优先权调度算法
8.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,那么此时的优先权调度算法实际上和〔〕相同。
A.先来先服务调度算法B.短作业优先调度算法
C.时间片轮转调度算法D.长作业优先调度算法
9.作业从后备作业到被调度程序选中的时间称为〔〕。
A.周转时间B.响应时间
C.等待调度时间D.运行时间
10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的〔〕不成立。
A.互斥条件B.请求和保持条件
C.不可剥夺条件D.环路等待条件
二.选择所有正确答案
1.以下选项中,〔〕可能是非抢占方式进程调度中引起调度的原因。
A.当前的运行进程调用阻塞原语而进入阻塞状态
B.当前的运行进程提出申请I/O而阻塞
C.有更高优先级的进程到达而从执行状态变为就绪状态
D.正在执行的进程执行了P原语操作,由于资源不足而阻塞
2.选择排队作业中等待时间最长的作业被优先调度,该调度算法不可能是〔〕。
A.先来先服务调度算法B.高响应比优先调度算法
C.优先权调度算法D.短作业优先调度算法
3.作业控制块JCB连成一串而形成的一个排队队列,该队列称为〔〕。
A挂起队列B.阻塞队列
C.就绪队列D.后备队列
4.以下哪个选项描述的时间属于响应时间的一部分〔〕。
A.处理机对请求信息进行处理的时间
B.从键盘输入的请求信息传送到处理机的时间
C.所形成的响应回送到终端显示器的时间
D.用户查看响应回送到的信息
5.以下四个选项描述的时间组成了周转时间,其中可能发生多次的是〔〕。
A.等待I/O操作完成的时间
B.作业在外存后备队列上等待作业调度的时间
C.进程在CPU上的执行时间
D.进程在就绪队列上等待进程调度的时间
6.下面列出的是选择调度方式和算法的4个面向用户的准那么。
其中,不完全适用于实时系统的准那么是〔〕。
A.优先权准那么B.响应时间快
C.截止时间的保证D.周转时间短
7.下面列出了选择调度方式和算法的4个准那么。
其中,对批处理、分时、实时系统都可以采用的是〔〕。
A.周转时间短B.响应时间快
C.截止时间的保证D.优先权准那么
8.以下选项中,〔〕是分时系统中确定时间片大小需要考虑的因素。
A.各类资源的平衡利用B.就绪队列中进程的数目
C.系统的处理能力D.系统对响应时间的要求
9.下面列出的选项中,属于可剥夺性资源的有〔〕。
A.CPUB.内存
C.磁盘D.磁带机
10.在多级队列调度和多级反馈队列调度的表达中,正确的选项是〔〕。
A.多级反馈队列调度中就绪队列的设置不是象多级队列调度一样按作业性质划分,而是按时间片的大小划分
B.多级队列调度用到优先权,而多级反馈队列调度中没有用到优先权
C.多级队列调度中的进程固定在某一个队列中,而多级反馈队列调度中的进程不固定
D.多级队列调度中每个队列按作业性质不同而采用不同的调度算法,而多级反馈队列调度中除了个别队列外,均采用相同的调度算法
三.判断正误,简要说明理由
1.作业调度能够使作业获得CPU。
2.在多道程序系统中,系统的现有空闲可用资源能否满足一个后备作业J的资源要求,是选择作业J进入内存的必要条件。
3.短作业〔进程〕优先调度算法具有最短的平均周转时间,因此这种算法是最好的算法。
4.在优先权调度算法中确定静态优先权时,一般说,计算进程的优先权要高于磁盘I/O进程的优先权。
5.摒弃不可剥夺条件的方法可用于预防多个打印进程死锁的发生。
6.操作系统处理死锁,只要采用预防、解除、检测、避免之中的一种就足够了。
7.如果系统在所有进程运行前,一次性地将其在整个运行过程所需的全部资源分配给进程,即所谓“静态分配〞法,是可以预防死锁发生的。
8.多个进程竞争比进程数目少的资源时就可能产生死锁,而当资源数目大于进程数目时就一定不会发生死锁。
9.在银行家算法中,对某时刻的资源分配情况进行安全分析,如果该时刻状态是安全的,那么存在一个安全序列,且这个安全序列是唯一的。
10.进程调度算法各种各样,但是如果选择不当,就会造成死锁。
四.简答题
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),问系统可否将资源分配给它?
五考研试题精选及解析
1.在银行家算法中,假设出现以下资源分配情况:
〔北京理工2002死锁题〕
Process
allocation
claim
available
ABC
ABC
ABC
P0
010
753
322
P1
210
322
P2
302
902
P3
211
222
P4
002
433
问:
1该状态是否安全?
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类资源,进程P2占有一个单位的R1类资源,此时系统内已无空闲资源,而两个进程都在保持已占有资源不释放的情况下继续申请资源,从而造成死锁;
或进程P2占有单位的R1类资源及一个单位的R2类资源,进程P1占有一个单位的R1类资源,此时系统内已无空闲资源,而两个进程都在保持已占有资源不释放的情况下继续申请资源,从而造成死锁。
假定进程P1成功执行了第2步,那么死锁点的资源分配图如下图:
图4-5
5.某系统有同类资源m个,被并发执行的n个进程共享,假设每个进程申请该类资源的最大量为x(1≦x≦m),试给出保证系统不产生死锁的n、x、m之间的关系式。
解:
当每个进程分得资源的最大量x-1个后,只要系统还拥有一个资源时,系统便不会产生死锁,故可推出关系式:
n×(x-1)+1≦m。
其中,当m≦n时,x=1。
m>n时,x=1+[(m-1)/n]
其中,[]为取下界、即去掉小数点。
6.某系统有同类资源m个,被并发执行的n个进程共享,假设每个进程申请该类资源的最大量为x(1≦x≦m),试证明:
当n×(x-1)+1≦m时,系统不产生死锁。
〔西安理工2000死锁题〕
解:
当每个进程分得资源的最大量x-1个后,只要系统还拥有一个资源时,系统便不会产生死锁,故可推出关系式:
n×(x-1)+1≦m。
其中,当m≦n时,x=1。
m>n时,x=1+[(m-1)/n]
其中,[]为取下界、即去掉小数点。
7.假设系统由相同类型m个资源组成,系统有n个进程,每个进行至少请求一个资源。
证明当n个进程最多需要的资源数之和小于m+n时,该系统没有死锁。
〔国防科大2001死锁题〕
答:
设max〔i〕表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。
由题中所给条件可知:
max
(1)+┅+max(n)=(need
(1)+┅+need(n))+((alloc
(1)+┅+alloc(n))如果在这个系统中发生了死锁,那么一方面m个资源应该全部分配出去,
alloc
(1)+┅+alloc(n)=m
另一方面所有进程将陷入无限等待状态。
可以推出
need
(1)+┅+need(n)上式表示死锁发生后,n个进程还需要的资源量之和小于n,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。
既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。
8.某系统有同类独占资源m个,被并发执行的n个进程共享,假设每个进程申请该类资源的最大量为w(1≦w≦m),当m、w、n取以下值时,判断以下哪些情形发生死锁。
〔上交大1999死锁题〕
(1)m=2,n=2,w=1。
(2)m=3,n=2,w=2。
(3)m=3,n=2,w=3。
(4)m=5,n=3,w=2。
(5)m=6,n=3,w=3。
解:
用上题结论,当m≦n时,w=1。
m>n时,w=1+[(m-1)/n]其中,[]为取下界。
(1)不会死锁。
(2)不会死锁。
(3)可能出现死锁。
(4)不会死锁。
(5)可能出现死锁。
9.N个进程共享M个资源,每个进程一次只能申请/释放一个资源,每个进程最多需要M个资源,所有进程总共的资源需求少于M+N个,证明该系统此时不会产生死锁。
〔西北工大2000死锁题〕
答1:
设max〔i〕表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。
由题中所给条件可知:
max
(1)+┅+max(n)=(need
(1)+┅+need(n))+((alloc
(1)+┅+alloc(n))如果在这个系统中发生了死锁,那么一方面m个资源应该全部分配出去,
alloc
(1)+┅+alloc(n)=m
另一方面所有进程将陷入无限等待状态。
可以推出
need
(1)+┅+need(n)上式表示死锁发生后,n个进程还需要的资源量之和小于n,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。
既然该进程已获得了它所需要的全部资源,那么,它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。
答2:
设每个进程对共享资源的最大需求量为x〔0这时系统剩余资源数为:
m-n〔x-1〕。
只要系统还有一个资源可用,就可使其中的一个进程获得所需的全部资源,该进程运行结束后释放出它所占用的资源,其他进程的资源需求也可得到全部满足。
因此,当m-n〔x-1〕≥1时,即x≤〔m+n-1〕/n时系统不会发生死锁。
进而可得系统中所有进程最大需求量之和nx≤〔m+n-1〕时系统不会发生
死锁。
该题中,所有进程最大需求量之和小于m+n,所以,该系统是死锁无关的。
答3:
由题意知道,n×m等式变换n×(m-1)+n即n×(m-1)于是有n×(m-1)+1或n×(m-1)+1≤m
这说明当n个进程都取得了最大数减1个即(m-1)个时,这时至少系统还有一个资源可分配。
故该系统是死锁无关的。
10.设系统中仅有一个资源类,其中共有3个资源实例,使用此类资源的进程共3个,每个进程至少请求一个资源,它们所需资源求最大量的总和为x,那么发生死锁的必要条件是x≧6。
〔南京航空航天大学2002死锁题〕
解:
设3个进程各需x1,x2和x3个资源,根据题意,x=x1+x2+x3
假设发生了死锁,那么,每个进程至还缺—个资源,但系统己没有空闲的可分配了、即有:
(x1-1)+(x2-1)+(x3-1)≧3
x1+x2+x3-3≧3
故有x-3≧3
所以x≧6
11.有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法,在下表所示的作业序列,作业优先数即为进程优先数,优先数越小优先级越高。
〔北京大学1995年进程调度题〕
(1)列出所有作业进入内存时间及结束时间。
(2)计算平均周转时间。
12.对某系统进行监测后说明平均每个进程在I/O阻塞之前的运行时间为T。
一次进程切换的系统开销时间为S。
假设采用时间片长度为Q的时间片轮转法,对以下各种情况算出CPU利用率。
〔北京大学2000年进程调度题〕
1〕Q=∞2〕Q>T3〕S<Q<T
答:
因为,CPU利用率=进程有效运行时间/CPU总时间
=有效运行时间/(有效运行时间+系统开销)。
由于Q=∞或Q>T,那么,时间片足够大,进程每次运行总能结束,故1)和2)两种情况下,在T+S时间中,有效运行了T。
得到CPU利用率=T/〔T+S〕。
1〕Q=∞CPU利用率=T/〔T+S〕
2〕Q>TCPU利用率=T/〔T+S〕
下面一种情况,S<Q<T,也就是说,进程完成任务运行过程中共切换了T/Q次,浪费时间为S×(T/Q)。
故CPU利用率=T/(T+S×(T/Q)),化简后得到:
3〕T>Q>SCPU利用率=Q/〔Q+S〕
13.有一个四道作业的操作系统,假设在一段时间内先后到达6个作业,它们的提交和估计运行时间由下表给出:
系统采用SJF调度算法,作业被调度进入系统后中途不会退出,但作业运行时可被更短作业抢占。
(1)分别给出6个作业的执行时间序列、即开始执行时间、作业完成时间、作业周转时间。
(2)计算平均作业周转时间。
解:
作业提交需运行开始运行被抢占还完成周转
号时间时间时间需运行时间时间时间
J18:
00608:
004010:
35155
J28:
20358:
20309:
5595
J38:
25208:
258:
4520
J48:
30259:
00259:
2555
J58:
3558:
458:
5015
J68:
40108:
509:
0020
说明:
采用SJF,J2到达时抢占J1;J3到达时抢占J2。
但J4到达时,因不满足SJF,故J4不能被运行,J3继续执行5分钟。
注意,是4道的作业系统,故后面作业不能进入主存而在后备队列等待。
根据进程调度可抢占原那么,J3第一个做完。
而这时J5可进入主存。
因J5最短,故它第二个完成。
这时J6可进入主存。
因J6最短,故它第三个完成。
然后是:
J4、J2和J1
T=60