第三章复习题(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章复习题(1)
第三章处理机调度与死锁
一、选择题
1、现有三个同时到达的作业J1、J
2、J3,它们的执行时间分别是T1,T2和T3,且T1<t2<t3。
系统按单道方式运行且采用短作业优先算法,则平均周转时间是()< bdsfid="98" p=""></t2<t3。
系统按单道方式运行且采用短作业优先算法,则平均周转时间是()<>
A.T1+T2+T3 B (T1+T2+T3)/3 C (3T1+2T2+T3)/3 D (T1+2T2+3T3)/3
答案:C
2、有一个作业8:00到达系统,估计运行时间为1小时。
若10:00开始执行该作业,其响应比是()
A.2
B.1
C.3
D.0.5
答案:C
3、最适合分时系统的进程调度算法是()
A.FCFS
B.SJF
C.HRN
D.RR(时间片轮转)
答案:D
4、设有四个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理机上按单道方式运行,则平均周转时间为()
A.1小时
B.5小时
C.2.5小时
答案:B
5、设有三个作业J1、J2、J3,其运行时间分别为1、2、3小时,假定这些作业同时到达,并在一台处理机上按单道运行,那么按()序
列执行时其平均周转时间最小。
A.J1;J2;J3
B.J2;J3;J1
C.J2;J1;J3
D.J1;J3;J2
答案:A
6、分时系统的响应时间与下列哪一个因素无关()
A.时间片长短
B.系统时钟的频率
C.终端用户数
D主存和后援存储器之间的信息对换量
答案:B
7、银行家算法在解决死锁问题中是用于()的。
A.预防死锁
B.避免死锁
C.检测死锁
D.解除死锁
答案:B
8、死锁现象并不是计算机系统所独有的,判断下列哪些现象是死锁的体现()
A.杭州西泠桥塞车,因为大修,桥上只有一个车道供双方通行
B.高速公路大堵车,因为桥被大风吹垮了
C.两列相向行驶的列车在单轨路上迎面相遇
D.两位木匠订地板,每位木匠必须有榔头和钉子才能工作。
一位只握一把榔头,而另一位没有榔头,却有钉子
9、设系统有一类数量为M的独占性资源,系统中N个进程竞争该类资源,各进程对资源的最大需求为W。
当M,N,W分别取下列()选项中的值时系统不可能发生死锁。
A.M=2,N=2,W=2
B.M=3,N=2,W=2
C.M=3,N=2,W=3
D. M=6,N=3,W=3
答案:B
10、采用时间片轮转法进行进程调度是为了( )
A多个终端都能得到系统的及时响应
B 先来先服务
C 优先级较高的进程得到及时响应
D 需要CPU最短的进程先做
答案:A
11、为了紧急进程或重要进程进行调度,调度算法应采用()
A.先来先服务
B.优先级高者优先
C.短作业优先 D时间片轮转
答案:B
12、当进程调度采用最高优先级调度算法时,从保证系统效率的角度来看,应提高()进程的优先级。
A.连续占用处理机时间长的
B.在就绪队列中等待时间长的
C.以计算为主的
D.用户
答案:B
二、填空题
1、进程调度算法采用等时间片轮转法,时间片过大,就会使轮转法转化为___(FCFS)___ 调度算法。
2、如果系统中的所有作业都是同时到达的,则使作业平均周转时间最短的作业调度是___(短作业优先算法)____。
3、若使当前运行的进程总是优先级最高的进程,应选择_(剥夺式
优先级或者抢占式优先级)__进程调度算法。
4、死锁产生的四个必要条件是:互斥条件、__(请求和保持条件、不剥夺条件、环路等待条件)__
5、资源的有序分配策略可以破坏死锁的__(循环等待)__条件。
6、在有M个进程的系统中出现死锁时,死锁进程的个数K应该满足的条件是__(2≤K≤M)___。
7、采用资源有序分配算法可以___(预防)__死锁的发生。
8、选择调度方式和调度算法的面向用户的准则有:周转时间短、__(响应时间快、截止时间的保证、优先权准则)
9、处理机的三级调度为: (高级调度、中级调度、低级调度)
10、产生死锁的原因可归结为如下两点:(竞争资源、进程间推进顺序非法)
11、抢占调度方式是基于一定原则的,主要有以下几条:(优先权原则、短作业(进程)优先原则、时间片原则)
12、所谓周转时间是指:(作业从进入系统到处理完成所经历的时间)
13、常采用解除死锁的两种方式是:(剥夺资源、撤销进程)
14、选择调度方式和调度算法的面向系统的准则有:(系统吞吐量高、处理机利用率好、各类资源的平衡利用)
三、判断题
1、在作业调度中,采用高响应比优先算法时作业平均周转时间最短(错误)
2、在剥夺优先级调度方式下,现运行进程的优先级不低于系统中所
有进程的优先级(错误)
3、作业调度是处理机的高级调度,进程调度是处理机的低级调度
(正确)
4、采用资源的静态资源分配算法可以预防死锁的发生(正确)
5、参与死锁的所有进程都占有资源(正确)
6、死锁是系统中的所有进程都处于阻塞状态(错误)
7、系统处于不安全状态一定会发生死锁(错误)
8、不安全状态是死锁状态的一个特例(错误)
9、系统处于安全时也可能发生死锁(错误)
10、时间片越小,系统的响应时间就越小,系统的效率就高(错误)
四、简答题
1、关于处理机调度,试问:
(1)什么是处理机三级调度?
(2)处理机的三级调度分别在什么情况下发生?
(3)各级调度分别完成什么工作?
【解答】(1)操作系统中有三级调度:高级调度(作业调度)、中级调度(交换调度)和低级调度(进程调度)。
它们构成系统中的多级调度。
不同类型的操作系统不一定完全都实现上述三种调度。
(2)处理机的三级调度分别在如下情况下发生:
1)高级调度。
高级调度是根据系统内所有资源的使用情况,一旦可能便从后备作业中选择一道作业进入系统,并创建相应的进程,分配必要的系统资源,然后将进程“就绪”
2)低级调度。
低级调度即为CPU调度,它是根据CPU的使用情况及时分配CPU,即从“就绪”的进程中选择一个进程在CPU上“运行”。
这种调度不仅要求调度算法本身的时间复杂度小,而且要求策略精良,因为低级调度直接影响着系统的整体效率。
在多道程序系统中必须提供低级调度。
3)中级调度。
在内存中常常有许多进程出于某种等待状态,这些进程在“等待”期间无谓的占用着内存资源,如将它们暂时换至外存,则所节省出来的内存空间可用以接纳新的进程。
一旦被换至外存的进程具备运行条件,再将其换至内存。
为此,在逻辑上将主存延伸,用
一部分外存空间(称交换区)替代主存,并且实施交换调度(中级调度)。
在各类型的操作系统中可以根据内存的配置和系统能承受的最大负载,有选择地进行中级调度,或不实施中级调度。
(3)高级调度完成作业调度,使“后备”状态的作业变为“执行”状态:中级调度完成内存和外存信息的交换调度;低级调度完成进程调度,使“就绪”的进程在CPU上“运行”。
2、在设计进程调度算法时,应着重考虑那几个问题?
【解答】(1)引起进程调度的实机。
(2)进程调度的方式。
(3)进程队列的组织。
(4)进程调度算法的选择。
3、某银行计算机系统要实现电子转账系统,基本的业务流程是首先对转出方和转入方的账户进行加锁,然后进行转账业务,最后对转出
方和转入方的账户进行解锁。
如果不采取任何措施,系统会不会发生死锁?为什么?如果会发生死锁,请设计一种能够避免死锁的解决方案。
【解答】会发生死锁。
例如两个账号A和B,有两个转账业务,分别是从A转入B和从B转入A。
这两个业务在执行时可能会发生:一个业务锁定A账户,试图锁定B账户失败而等待;另一个业务锁定B账户,试图锁定A账户也失败,也在等待。
系统处于死锁状态。
为避免死锁,应采用两阶段加锁方案:每个账户设定一个唯一的账号,在业务执行前,必须按照账号大小依次获得所有账户的锁,业务完成后按照加锁次序,将后锁定的账户先解锁。
4、简述作业调度与进程调度的区别
【解答】○1作业调度属于高级调度,而进程调度属于低级调度。
○2作业调度是根据系统内资源的使用情况,从后备作业队列中选择一道作业进入系统并创建相应的进程,分配必要的系统资源,使其处于“就绪”状态。
进程调度是根据CPU的使用情况及时的把CPU分配给一个“就绪”的进程,使其从“就绪”状态变为“运行”状态。
五、应用题
1、在一个单道批处理系统中,一组作业的提交时间和运行时间如下表所示:
作业提交时间运行时间(小时)
1 8:00 1.0
2 8:50 0.50
3 9:00 0.20
4 9:10 0.1
试计算一下三种作业调度算法的平均周转时间T和平均带权周转时间W:
(1)先来先服务。
(2)短作业优先。
(3)响应比高者优先。
【解答】(1)采用先来先服务作业调度算法时,作业的运行情况如下表所示:
作业执行次序提交时
间
运行时
间
开始时
间
完成时
间
周转时
间
带权周转
时间
1 8:00 1.0 8:00 9:00 1.0 1.0
2 8:50 0.5 9:00 9:30 0.67 1.34
3 9:00 0.20 9:30 9:42 0.7 3.5
4 9:10 0.10 9:42 9:48 0.63 6.3
所以,平均周转时间为:
T=(1.0+0.67+0.7+0.63)/4=0.75 平均带权周转时间为:
W=(1.0+1.34+3.5+6.3)/4=3.04
(2)采用短作业优先调度算法时,作业的运行情况如下表所示:
作业执行次序提交时
间
运行时
间
开始时
间
完成时
间
周转时
间
带权周转
时间
1 8:00 1.0 8:00 9:00 1.0 1.0
3 9:00 0.20 9:00 9:12 0.2 1.0
4 9:10 0.10 9:12 9:18 0.133 1.33
2 8:50 0.50 9:18 9:48 0.97 1.94
所以,平均周转时间为:
T=(1.0+0.2+0.1+0.97)/4=0.57 平均带权周转时间为:
W=(1.0+1.0+1.33+1.94)/4=1.32
(3)采用响应比高者优先作业调度算法时,作业的运行情况如下表所示:
作业执行次序提交时
间
运行时
间
开始时
间
完成时
间
周转时
间
带权周转
时间
1 8:00 1.0 8:00 9:00 1.0 1.0 3 9:00 0.20 9:00 9:1
2 0.2 1.0 2 8:50 0.50 9:12 9:42 0.87 1.74 4 9:10 0.10 9:42 9:48 0.6
3 6.3
所以,平均周转时间为:
T=(1.0+0.2+0.87+0.63)/4=0.675 平均带权周转时间为:
W=(1.0+1.0+1.74+6.3)/4=2.51
2、某系统有A,B,C,D这4类资源供5个进程共享,进程对资源的
需求和分配情况如下表所示。
现在系统还剩资源A类1个,B类5个,C类2个和D类0个,请按银行家算法回答下面问题:进程已占资源数最大需求数
A B C D A B C D
P1 0 0 1 2 0 0 1 2
P2 1 0 0 0 1 7 5 0
P3 1 3 5 4 2 3 5 6
P4 0 6 3 2 0 6 5 2
P5 0 0 1 4 0 6 5 6
1)现在系统是否处于安全状态?若安全写出安全序列。
2)如果现在进程P2提出需要(0,4,2,0,)个资源的需求,系统能否满足它的请求?
【解答】1)资源分配情况见下图:
进程已占资源数最大需求数尚需资源数可用资源数
A B C D A B C D A B C D A B C D
P1 0 0 1 2 0 0 1 2 0 0 0 0 1 5 2 0
P2 1 0 0 0 1 7 5 0 0 7 5 0
P3 1 3 5 4 2 3 5 6 1 0 0 2
P4 0 6 3 2 0 6 5 2 0 0 2 0
P5 0 0 1 4 0 6 5 6 0 6 4 2
在这里,进程P1已经拥有足够资源,在执行完后可归还C和D 资源,同时,进程P3可以得到足够的资源完成执行,其后,P2、P4、P5可以依次得到足够的资源来完成,因此,用银行家算法分配资源时,系统出于安全状态。
安全序列为:P1,P3,P2,P4,P5
2)(1)Request2(0,4,2,0)<=Need
(2)Request2(0,4,2,0)<=Available
(3)试着分配资源,分配后的资源分配情况图如下表:
进程已占资源数最大需求数尚需资源数可用资源数
A B C D A B C D A B C D A B C D
P1 0 0 1 2 0 0 1 2 0 0 0 0 1 1 0 0
P2 1 4 2 0 1 7 5 0 0 3 3 0
P3 1 3 5 4 2 3 5 6 1 0 0 2
P4 0 6 3 2 0 6 5 2 0 0 2 0
P5 0 0 1 4 0 6 5 6 0 6 4 2
(4)应用安全性算法,找不到一个安全序列,因此系统将推迟给P2进程分配资源,P2进程将阻塞等待。
3、假设三个进程共享四个资源,每个进程一次只能预定或释放一个资源,每个进程最多需要两个资源,试证明这样做不会发生死锁。
答:在最坏情况下,三个进程各占用一个资源,并同时请求第二个资源。
由于系统中还有一个未用的资源,所以三个进程中的一个可以被满足。
另外两个进程在这个进程结束以后可以获取需要的资源,然后继续执行。
因此,不会出现死锁。