调度与死锁-PPT课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《调度与死锁-PPT课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 调度 死锁 PPT 课件
- 资源描述:
-
1、第4章 调度与死锁调度类型与准则调度类型与准则调度算法调度算法死锁的预防与避免死锁的预防与避免 死锁的基本概念死锁的基本概念死锁的检测与解除死锁的检测与解除4.1调度类型与准则调度类型与准则就绪阻塞执行退出创建进程调度超时I/O请求或等待某事件I/O完成或事件发生接纳完成阻塞挂起就绪挂起挂起挂起激活激活I/O完成或事件发生低级调度中级调度高级调度调度类型调度类型高级调度高级调度低级调度低级调度中级调度中级调度调度的层次调度的层次又称作业调度、宏观调度又称作业调度、宏观调度l任务:任务:决定将外存上后备队列中的哪些作业调入内存。l调度工作决定调度工作决定l接纳多少作业:取决于多道的程度,即内存允
2、许放多少个作业。l接纳哪些作业:有调度算法决定。l适用于批处理系统适用于批处理系统调度的层次调度的层次l又称进程调度、微观调度又称进程调度、微观调度l任务:任务:决定就绪队列中的哪些进程将获得处理机。l调度方式调度方式l非剥夺式l剥夺式l抢占原则抢占原则l时间片l优先权l进程长短l适用于分时、实时、批处理系统适用于分时、实时、批处理系统调度的层次调度的层次l又称对换程序又称对换程序l主要作用:主要作用:内存和外存对换区之间进行进程对换,以解决内存紧张问题。进程调度方式进程调度方式 非剥夺方式(非抢占方式)非剥夺方式(非抢占方式) 进程调度基本方式可分为非抢占和抢占方式: 进程被选中就一直运行下
3、去(不会因为时钟中断而被迫让进程被选中就一直运行下去(不会因为时钟中断而被迫让出出CPU),直至完成工作、自愿放弃),直至完成工作、自愿放弃CPU、或因某事件而、或因某事件而被阻塞才把被阻塞才把CPU让出给其它进程。让出给其它进程。剥夺方式(抢占方式剥夺方式(抢占方式 )抢占方式发生的情况可为抢占方式发生的情况可为:新进程到达、出现中断且将阻新进程到达、出现中断且将阻塞进程转变为就绪进程、以及用完规定的时间片塞进程转变为就绪进程、以及用完规定的时间片等。等。好处为进程提供更好的服务,防止一个好处为进程提供更好的服务,防止一个进程长期占有进程长期占有CPU ,但开销大。,但开销大。 练习练习1.
4、1.作业是由用户提交的,进程是由系统自动生成,除此作业是由用户提交的,进程是由系统自动生成,除此之外,两者的区别是(之外,两者的区别是( )。)。 (A A)两者执行不同的程序段)两者执行不同的程序段 (B B)前者以用户任务为单位,后者是操作系统控)前者以用户任务为单位,后者是操作系统控制的单位制的单位 (C C)前者是批处理的,后者是分时的)前者是批处理的,后者是分时的 (D D)后者可并发执行,前者则不行)后者可并发执行,前者则不行练习练习2.2.当一进程运行时,系统可基于某种原因强行将其当一进程运行时,系统可基于某种原因强行将其撤下,把处理机分配给其他进程,这种调度方式撤下,把处理机分
5、配给其他进程,这种调度方式是()。是()。 ( () ) 非抢占式非抢占式 ( () ) 抢占式抢占式 ( () ) 中断方式中断方式 ( () ) 查找方式查找方式进程调度时机进程调度时机进程退出进程退出进程阻塞进程阻塞新进程创建新进程创建中断发生中断发生时钟中断时钟中断 调度的性能准则调度的性能准则面向用户的准则面向用户的准则响应时间快响应时间:从用户通过键盘提交请求到首次得到响应的时间周转时间短:周转时间:作业从提交到完成的时间间隔。优先权准则截止时间的保证面向系统的准则面向系统的准则系统吞吐量单位时间内完成的作业数。处理机利用率各类资源平衡利用公平周转时间定义周转时间定义ninTiT1
6、1实际服务时间实际服务时间等待时间实际服务时间周转时间TsiTiWininTsiTiW11周转时间周转时间Ti平均周转时间平均周转时间 带权周转时间带权周转时间 平均带权周转时间平均带权周转时间 siciittT响应时间定义响应时间定义n 响应时间;响应时间就是从任务就绪到处理开始(也有的称为等待时间)。 在交互式系统中,周转时间不可能是最好的评价准则。因为不断请求与不断输出在同时发生。 通常,响应时间一般用于分时系统性能评价,指用户通过键盘或终端提出一个请求开始到系统给出相应的响应结果的时间(与上面有所不同)。n 系统开销;系统开销就是系统调度任务的过程中所付出的时/空代价。 练习练习1.1
7、.从进程提交给系统开始到进程完成为止的时间间隔称从进程提交给系统开始到进程完成为止的时间间隔称为(为( )。)。 (A A)进程周转时间)进程周转时间 (B B)进程运行时间)进程运行时间 (C C)进程响应时间)进程响应时间 (D D)进程等待时间)进程等待时间练习练习2.2.设有设有4 4个作业同时到达,每个作业的执行时间为个作业同时到达,每个作业的执行时间为2 2小时,它们在单处理机上按单道方式运行,则平小时,它们在单处理机上按单道方式运行,则平均周转时间是()小时。均周转时间是()小时。 ( () 1) 1 ( () 5) 5 ( () 2.5) 2.5 ( () 8) 8练习练习3.
8、3.以下关于选择进程调度算法的准则错误的是以下关于选择进程调度算法的准则错误的是( ()。)。 ( () ) 尽量提高处理机利用率尽量提高处理机利用率 ( () ) 尽可能提高系统吞吐量尽可能提高系统吞吐量 ( () ) 适当增长进程在就绪队列中等待时间适当增长进程在就绪队列中等待时间 ( () ) 尽快响应交互式用户的请求尽快响应交互式用户的请求 作业调度算法与进程调度算法基本概念相通或相近的,只是空间位置空间位置有所不同。 系统中处于可运行状态进程的个数通常比处理机的个数要多,特别是在单处理机系统单处理机系统中尤为如此。这样就存在从就绪队列中选择哪一个进程,这就是调度算法问题。 先来先服务
9、调度算法短作业(进程)优先调度算法时间片轮转调度算法优先权调度算法多级反馈队列4.2 调度算法调度算法先来先服务先来先服务FCFSl算法思想算法思想 对于作业调度,从后备作业中选择最先进入该队列的作业,将他们调入内存,为它们分配资源、创建进程,然后放入就绪队列。 对于进程调度,从就绪队列中选择最先进入该队列的进程,分配处理机,使之运行。 例1有四个作业(或进程),他们相应的时间见表: 作业作业到达时间到达时间 T Tinin服务服务时间时间T Tr r开始时间开始时间T TS S结束时间结束时间T Tc c周转时间周转时间T T带权周转时带权周转时间间W WA A0 01 1B B1 1100
10、100C C2 21 1D D3 3100100平均平均问题:问题:C的周转时间是所需要处理时间的100倍! 作业D的周转时间近乎是C的两倍,但它的带权周转时间却低于2.0。 例2更一般的情况,设有五个作业,见表表 更一般作业类型的FCFS 的调度性能 TW作业作业到达时间到达时间T Tinin服务时服务时间间T Tr r开始时间开始时间T Ts s 结束时间结束时间T Tc c周转时间周转时间T T带权周转时带权周转时间间W WA A0 03 30 03 3T TA A=3=3W WA A=1=1B B2 26 63 39 9T TB B=7=7W WB B=1.17=1.17C C4 44
11、 49 91313T TC C=9=9W WC C=2.25=2.25D D6 65 513131818T TD D=12=12W WD D=2.40.=2.40.E E8 82 218182020T TE E=12=12W WE E=6=6平均平均 =8.60 =8.60 = 2.56 = 2.56同样,看到作业同样,看到作业E的不利情况。的不利情况。1. FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。2. FCFS调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)。u CPU繁忙型作业是指该类作业需要大量的CPU时间进行计算,而很少请求I/O。通常的科学计
12、算便属于CPU繁忙型作业。u I/O繁忙型作业是指CPU进行处理时需频繁地请求I/O。目前的大多数事务处理都属于I/O繁忙型作业。先来先服务先来先服务FCFS与短作业优先与短作业优先SJFl算法思想算法思想 短作业优先是从后备队列中选择估计运行时间最短的作业,将它们调入内存。 短进程优先是从就绪队列中选择估计运行时间最短的进程,将处理机分配给它,使之执行并一直到完成或因发生某事件而阻塞放弃处理机时,再重新调度。作业作业到达时间到达时间T Tinin服务时服务时间间T Tr r开始时间开始时间T Ts s 结束时间结束时间T Tc c 8 83 36 64 45 52 22 20 04 46 6
13、E EC CD DA AB B周转时间周转时间 T T平均平均带权周转时带权周转时 间间W W进程名 A B C D E 平 均 到达时间 0 1 2 3 4 作业 情况 调度 算法 服务时间 4 3 5 2 4 完成时间 4 7 12 14 18 周转时间 4 6 10 11 14 9 FCFS (a) 带权周转时间 1 2 2 5.5 3.5 2.8 完成时间 4 9 18 6 13 周转时间 4 8 16 3 9 8 SJF (b) 带权周转时间 1 2.67 3.1 1.5 2.25 2.1 SJF对短作业有利,并且整体性能也得到了提高;SJF的问题: n SJF需要事先知道或至少需要
14、估计每个作业所需估计每个作业所需的处理机时间的处理机时间。n 只要不断的有短作业进入系统,就有可能使长作业长期得不到运行而“饿死”。 n SJF 偏向短作业,不利于分时系统(由于不可抢占性)。 练习练习1.1.现有三个同时到达的作业现有三个同时到达的作业J1,J2,J3,J1,J2,J3,它们的执行时间它们的执行时间分别为分别为T1,T2,T3,T1,T2,T3,且且T1T2T3,T1T2T3,系统按单道方式运行且系统按单道方式运行且采用短作业优先算法,则平均周转时间是(采用短作业优先算法,则平均周转时间是( )。)。 (A A)T1+T2+T3 T1+T2+T3 (B B)()(T1+T2+
15、T3T1+T2+T3)/3 /3 (C C)(3T1+2T2+T3)/3(3T1+2T2+T3)/3 (D D)()(T1+2T2+3T3T1+2T2+3T3)/3 /3 时间片轮转调度算法时间片轮转调度算法(RR)算法思想算法思想进程按FCFS在就绪队列排队,调度程序把CPU分配给队首进程,令其执行一个时间片,一个时间片执行完毕将进程排在队尾。作业作业到达时间到达时间T Tinin服务时服务时间间T Tr r开始时间开始时间T Ts s 结束时结束时间间T Tc c 时间片轮转调度算法时间片轮转调度算法(RR)时间片大小的确定时间片大小的确定响应时间响应时间T=用户数目用户数目N*时间片时间
16、片q响应时间T当N一定,T与q成正比。T若要求快,则q也要小。就绪队列的进程数NT一定, q与N成反比。N越多, q要小。系统的处理能力保证用户键入的常用命令能在一个时间片内处理完毕。时间片大小时间片大小(a)时间片稍大于交互时间时间片q响应时间时间片q其它进程响应时间(b)时间片小于交互时间系统处理能力比较系统处理能力比较作业情况进程名ABCDE平均到达时间01234时间片服务时间43424完成时间151216917q=1周转时间15111461311.8带权周转时间3.753.673.533.333.46完成时间47111317q=4周转时间46910138.4带权周转时间122.2553
17、.332.5AAAABBBCCCCDDEEEEq=1ABCDEq=4算法思想算法思想 从后备队列中选择若干优先权最高的作业,将它们调入内存。 或从就绪队列中选择优先权最高的进程,将处理机分配给它。优先权类型优先权类型 静态优先权l确定因素:进程类型、进程对资源的需求、用户要求。 动态优先权l确定因素:等待时间、运行时间。特点:综合考虑各种情况特点:综合考虑各种情况优先权调度算法优先权调度算法高响应比优先调度算法高响应比优先调度算法 如果我们能为每个作业引入前面所述的动态优先权,并使作业的优先级随着等待时间的增加而以速率a提高,则长作业在等待一定的时间后,必然有机会分配到处理机。该优先权的变化规
18、律可描述为: 要求服务时间要求服务时间等待时间优先权由于等待时间与服务时间之和就是系统对该作业的响应时间,故该优先权又相当于响应比RP。据此,又可表示为: 要求服务时间响应时间要求服务时间要求服务时间等待时间PR由上式可以看出:(1) 如果作业的等待时间相同,则要求服务的时间愈短,其优先权愈高,因而该算法有利于短作业。(2) 当要求服务的时间相同时,作业的优先权决定于其等待时间,等待时间愈长,其优先权愈高,因而它实现的是先来先服务。 (3) 对于长作业,作业的优先级可以随等待时间的增加而提高,当其等待时间足够长时,其优先级便可升到很高,从而也可获得处理机。作业作业到达时间到达时间T Tinin
19、服务时服务时间间T Tr r开始时间开始时间T Ts s 结束时间结束时间T Tc c 8 83 36 64 45 52 22 20 04 46 6E EC CD DA AB B周转时间周转时间 T T平均平均带权周转时带权周转时 间间W W最短剩余时间(SRT) SRT是针对 SJF 增加了强占机制的一种调度算法,它总是选择预期剩余时间最短的进程。只要新进程就绪,且有更短的剩余时间,调度程序就可能抢占当前正在运行的进程。作业作业到达时间到达时间T Tinin服务时服务时间间T Tr r开始时间开始时间T Ts s 结束时间结束时间T Tc c 3 36 64 45 52 2最短剩余时间(SR
20、T)SRT不象FCFS偏向长进程,也不象轮转法(下个算法)产生额外的中断,从而减少了开销。 必须记录过去的服务时间,从而增加了开销。 从周转时间来看,SRT 比SJF 有更好的性能。高响应比优先调度算法高响应比优先调度算法 如果我们能为每个作业引入前面所述的动态优先权,并使作业的优先级随着等待时间的增加而以速率a提高,则长作业在等待一定的时间后,必然有机会分配到处理机。该优先权的变化规律可描述为: 要求服务时间要求服务时间等待时间优先权由于等待时间与服务时间之和就是系统对该作业的响应时间,故该优先权又相当于响应比RP。据此,又可表示为: 要求服务时间响应时间要求服务时间要求服务时间等待时间PR
21、由上式可以看出:(1) 如果作业的等待时间相同,则要求服务的时间愈短,其优先权愈高,因而该算法有利于短作业。(2) 当要求服务的时间相同时,作业的优先权决定于其等待时间,等待时间愈长,其优先权愈高,因而它实现的是先来先服务。 (3) 对于长作业,作业的优先级可以随等待时间的增加而提高,当其等待时间足够长时,其优先级便可升到很高,从而也可获得处理机。作业作业到达时间到达时间T Tinin服务时服务时间间T Tr r开始时间开始时间T Ts s 结束时间结束时间T Tc c 8 83 36 64 45 52 22 20 04 46 6E EC CD DA AB B周转时间周转时间 T T平均平均带
22、权周转时带权周转时 间间W W不同调度算法对同一个 作业/进程的性能分析:W作业作业到达时间到达时间T Tinin服务时间服务时间T Tr r从平均周转时间及其平均带权周转时间来看,SRT 好于前面的任何一个算法。 A03 3B26 6C44 4D65 5E82 2FCFS8.602.56SJF7.601.84HRP8.002.14SRT7.201.59RR10.802.71T算法思想算法思想根据作业的性质和类型不同,将就绪队列再分为若干个子队列,每个进程分属于一个队列。在多级队列的基础上,不但设多个队列,且为每个队列赋予不同的优先权,第一个队列的优先权最高,第二个队列次之,其余队列的优先权逐
23、个降低。各个队列中的进程执行时间片大小逐渐增大。新进程投入第一个队列。调度从第一个队列进行,仅当第一个队列为空时,才调度第二个队列中的进程。多级反馈队列调度算法多级反馈队列调度算法多级反馈队列调度算法多级反馈队列调度算法CPU就绪队列1退出新进程就绪队列3就绪队列n就绪队列2S1CPU退出S2CPU退出S3CPU退出Sn时间片 S1 S2 S3 Sn各种常用调度算法的比较43/19 算法算法比较项比较项FCFSFCFSRRRRSJFSJFSRTSRTHRPHRPMFQMFQ调度方式调度方式非抢占式非抢占式抢占式抢占式( (按时间片按时间片) )非抢占式非抢占式抢占式抢占式( (进程到达进程到达
24、) )非抢占式非抢占式抢占式抢占式( (按时间片按时间片) )吞吐量吞吐量不突出不突出时间片太时间片太小小, ,可能变可能变低低高高高高高高不突出不突出响应时间响应时间可能很高,可能很高,对于短进对于短进程提供良程提供良好的响应好的响应时间时间对短作业对短作业/ /进程提供进程提供良好响应良好响应时间时间提供良好提供良好的响应时的响应时间间提供良好提供良好的响应时的响应时间间不突出不突出开销开销最小最小低低可能高可能高可能高可能高可能高可能高可能高可能高对进程对进程的作用的作用不利于短不利于短作业作业/ /进程进程和和I/OI/O忙型忙型公平对待公平对待不利于长不利于长作业作业/ /进程进程不
25、利于长不利于长进程进程良好的均良好的均衡衡(进程)(进程)可能偏向可能偏向I/OI/O繁忙的繁忙的作业作业/ /进程进程饥饿问题饥饿问题无无无无可能可能可能可能无无可能可能练习练习1.1.以下(以下( )是基于时间片的调度算法。)是基于时间片的调度算法。 (A A)时间片轮转法)时间片轮转法 (B B)高响应比优先调用算法)高响应比优先调用算法 (C C)抢占式调用算法)抢占式调用算法 (D D)先来先服务算法)先来先服务算法练习练习2.2.时间片轮转算法经常用于(时间片轮转算法经常用于( )。)。 (A A)单用户操作系统)单用户操作系统 (B B)实时系统)实时系统 (C C)分时系统)分
展开阅读全文