操作系统调度与死锁理论题答案_第1页
操作系统调度与死锁理论题答案_第2页
操作系统调度与死锁理论题答案_第3页
操作系统调度与死锁理论题答案_第4页
操作系统调度与死锁理论题答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章处理机调度与死锁1.高级调度与低级调度的主要任务是什么 ?为什么要引入中级调度?(1)高级调度又称为作业调度。它是批处理系统中使用的一种调度。其主要任务是按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中。(2)低级调度又称进程调度。它是距离硬件最近的一级调度。其主要任务是按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU(3)弓I入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让 那些暂时不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。此 时的进程状态为挂起状态。当这些进

2、程重新具备运行条件且内存空闲时,由中级 调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。2处理机调度算法的共同目标是什么?批处理系统的调度目标又是什么?共同目标:资源利用率,公平性,平衡性,策略强制执行。批处理系统的调度目标:平均周转时间短,系统吞吐量高,处理机利用率高。6. 为什么要引入高响应比优先调度算法?它有何优点?在批处理系统中,FCFS算法所考虑的只是作业的等待时间,而忽视了作业的运 行时间。而SJF算法正好与之相反,只考虑作业的运行时间,而忽视了作业的等 待时间。高响应比优先调度算法则是既考虑了作业的等待时间,又考虑作业运行 时间的调度算法,因此既照顾了短作业,又不致使

3、长作业的等待时间过长,从而改善了处理机调度的性能。7. 试说明低级调度的主要功能。保存处理机的现场信息、按某种算法选取进程、把处理机分配给进程。12. 试比较FCFS和SJF两种进程调度算法。相同点:两种调度算法都可用于作业调度与进程调度不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。该算法有利于 长作业/进程,不利于短作业/进程。SJF算法每次调度都从后备队列中选择一个或若干个运行时间最短的作业,调入内存中运行。该算法有利于短作业/进程,不利于长作业/进程。13. 在时间片轮转法中,应如何确定时间片的大小?时间

4、片应略大于一次典型的交互需要的时间。一般因考虑三个因素:系统对相应 时间的要求、就绪队列中进程的数目和系统的处理能力。20. 按调度方式可将实时调度算法分为哪几种?非抢占式和抢占式。非抢占式又分为非抢占式轮转调度算法和非抢占式优先调度 算法,抢占式又分为基于时钟中断的抢占式优先级调度算法和立即抢占的优先级 调度算法。27.何谓死锁?产生死锁的原因和必要条件是什么?死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。产生死锁的原因为竞争资源和进程间推进顺序非法。其必要条件是:互斥条件、请求和保持条件、不剥夺条件、环路等待条件。2

5、9.请详细说明可通过哪些途径预防死锁。(1) 摈弃“请求和保持”条件,就是如果系统有足够资源,便一次性把进程需要的所有资源分配给它;(2) 摈弃“不剥夺”条件,就是已经拥有资源的进程,当它提出新资源请求而不能立即满足时,必须释放它已保持的所有资源,待以后需要时再重新申请;(3) 摈弃“环路等待”条件,就是将所有资源按类型排序标号,所有进程对资源 的请求必须严格按序号递增的次序提出。21. 在银行家算法的例子中,如果 P0发出的请求向量由 Request0(0,2,0)改为RequestO(O,1,O),问系统可否将资源分配给它?ProcessAllocati onNeedAvailableA

6、B CA B CA B CP0),2, 07, 3, 32, 2, 0P1/3, 0, 2(),2, 0可以.首先,Request0(0,1,0)v=Need0(7,4,3),Request0(0,1,0)v=Available(2,3,0);分配后可修改得一资源数据表(表略),进行安全性检查,可以找到一个安全序列P1,P3,P0,P2,P4,因此,系统是安全的,可以立即将资源分配给P0.31.在银行家算法中,若出现下述资源分配情况,试问:ProcessAllocati onNeedAvailablePo003200121622P110001750P213542356P303320652P40

7、0140656(1) 该状态是否安全?(2) 若进程P2提出请求Request。,2, 2, 2)后,系统能否将资源分配给它?解:(1)进程/资WorkNeedAllocati onWork+Allocati onFi nish源情况A B C Dr A B C DA B C DA B C DP01, 6, 2, 20, 0, 1, 20, 0, 3, 21, 6, 5, 4TureP31, 6, 5, 40, 6, 5, 20, 3, 3, 21, 9, 8, 6TureP41, 9, 8, 60, 6, 5, 60, 0, 1, 41, 9, 9, 10TureP11, 9, 9,|1,

8、7, 5, 01, 0, 0, 02, 9, 9, 10Ture10P22, 9, 9, J:2, 3, 5, 61, 3, 5, 43, 12, 14, JTure1014据安全性检查,可以找到一个安全序列PO, P3, P4, P1, P2,因此该状态是安全的。(2)P2发出请求向量Request( 1,2,2,2),系统进行如下检查A. Request2(1,2,2,2)v=Need2(2,3, 5,6)B. Request2(1,2,2,2)v=Available(1,6,2,2);C.系统暂时先假定可以为P2分配资源,修改有关数据,如下图所示:D.进行安全性检查,可用资源(0,4,0

9、,0)已经不能满足任何一个进程需要, 故系统进入不安全状态,因此,系统不能将资源分配给P2例:有三类资源 A(17)、B(5)、C(20)。有5个进程P1P5o T0时刻系统状态如下:最大需求M已分配AP15 5 92 1 2P25 3 64 0 2P34 0 114 0 5P44 2 52 0 4P54 2 43 1 4、TO时刻,P2: Request(0,3,4),能否分配,为什么?、在的基础上P4: Request(2,0,1),能否分配,为什么? 、在的基础上P1: Request(0,2,0),能否分配,为什么? 解:(2) P2: Request(0,3,4)< Need2

10、(1,3,4)Request(0,3,4)> Available(2,3,3),不能分配(3) Request4(2,0,1) < Need4(2,2,1)Request4(2,0,1)> Available(2,3,3)假设分配,则最大需求(M)|已分配(A)还需要P15 5 92 1 23 4 7P25 3 64 0 21 3 4P34 0 114 0 50 0 6P44 2 54 0 50 2 0P54 2 43 1 41 1 0进行安全性检查进程workn eedallocati onWork+allocfin ishP40 3 20 2 02 0 44 3 7tru

11、eP54 3 71 1 03 1 47 4 11trueP37 4 110 0 64 0 511 4 16trueP211 4 161 3 44 0 215 4 18trueP115 4 183 4 72 1 217 5 20true由上表可知存在安全序列P4,P5,P3,P2,P1哀開此系统是安金的可以将P4所申 请的资源进行分配。(4)在(3)的基础上,若进程P1请求资源(0,2,0),按银行家算法进行检查:P1请求资源(0,2,0 ) < P1资源需求量(3,4,7 )P1请求资源(0,2,0 ) <剩余资源数(0,3,2 ) 试分配并修改相应的数据结构,由此形成的资源分配情况如表所示P1请求资源后的资源分配表进程Allocati onNeedAvail

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论