第5章 处理机调度1.ppt
《第5章 处理机调度1.ppt》由会员分享,可在线阅读,更多相关《第5章 处理机调度1.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5章章 处理机调度处理机调度n一个作业从一个作业从提交到完成提交到完成通常要经历通常要经历多级调度。多级调度。运行就绪阻塞进程调度挂起阻塞挂起就绪中级调度创建退出作业调度5.1 处理机调度的类型处理机调度的类型n处理机调度需要解决:n多任务以何种方式共享处理机。互斥n处理机时间的分配及长短确定。合理n处理机分配策略。如何分配n进程切换频度与系统效率的权衡。频繁开销大,反之则并发性低处理机的三级调度处理机的三级调度n处理机的三级调度:n作业调度n进程调度n交换调度1.作业的状态作业的状态n作业从提交到完成要经历四种状态:n提交状态:用户作业由输入设备向系统外存输入时作业所处的状态。n后备状态
2、:作业输入到外存后,系统为其建立了作业控制块,并把它插入到后备作业队列中等待调度运行。n执行状态:作业在内存中执行。n完成状态:作业正常或异常结束,但作业占有的资源还未被系统全部回收。作业状态转换图作业状态转换图等待就绪运行I/O请求I/O完成时间片完提交作业录入后备作业调度进程调度执行状态完成作业调度5.1.1 作业调度作业调度n作业调度又称高级调度、宏观调度或长程调度,其主要任务是按一定的原则从外存上处于后备状态的作业中选择一个或多个作业,给它们分配内存、输入/输出设备等必要的资源,并建立相应的进程,以使该作业具有获得竞争处理机的权利。n作业调度的运行频率较低,通常为几分钟一次。作业调度的
3、功能作业调度的功能n接纳多少作业:决定接纳作业的数目。n记录作业状况:记录作业各阶段的情况。包括资源分配、优先权、状态等。相关信息构成JCB,它是作业存在的唯一标志。n确定调度算法:决定接纳哪些作业。n做好执行前的准备工作:为选中作业建立进程并分配资源。n善后处理:作业完成后回收占用资源,撤消JCB。5.1.2 中程调度中程调度n中程调度又称中级调度或交换调度,其功能是将内存中暂时不用的信息移到外存,以腾出空间给内存中的进程使用,或将需要的信息从外存读入内存。n引入中程调度的目的是提高内存利用率和系统吞吐量。n中程调度的运行频率介于两者之间。引起中程调度的原因n频繁缺页时,应换出内存的部分作业
4、。n就绪队列中进程太多影响响应时间,应换出就绪队列中的部分进程。n等待I/O可能要一段时间,可以将这类进程换出。n为便于紧缩,可以将部分进程换出。n内存有足够空间时,可以从外存换入一些进程。n外存中进程的优先级高于内存时,可以换入。中程调度程序n中程调度程序由换入和换出两个过程组成:n换出过程把内存中的程序或数据换到交换区。n换入过程把外存中的程序或数据换到内存。n为了加快交换速度,外存交换区采用连续分配方式。5.1.3 进程调度进程调度n进程调度又称低级调度、微观调度或短程调度,其主要任务是按照某种策略和方法从就绪队列中选取一个进程,将处理机分配给它。n进程调度的运行频率很高,一般几十毫秒要
5、运行一次。进程调度的功能n记录系统中所有进程的状态、优先数和资源情况。n按调度算法选择进程运行。n实施处理机的分配及回收。引起进程调度的原因n正在运行进程结束n运行进程因某种原因阻塞,如P操作、I/O等n有进程进入就绪队列且就绪队列为空,或进程优先级高于当前运行进程且为剥夺调度方式n从系统调用或中断返回n时间片用完5.1.4 选择调度算法的准则选择调度算法的准则n由于操作系统的类型及目标不同,因此选择的调度算法也不同。n选择调度算法有以下准则:n面向系统的准则n面向用户的准则面向系统的准则n公平性:系统中的每个进程应获得合理的CPU时间。nCPU利用率高:对微机和实时系统不太重要。n系统吞吐量
6、大:吞吐量指单位时间内所完成的进程数。n合理利用各类资源:让各类资源都忙碌,对微机不太重要。面向用户的准则n周转时间短:指从作业提交到作业完成的时间间隔。n响应时间快:指从用户提交请求到系统产生响应的时间间隔。n截止时间的保证:截止时间是指某任务必须开始执行或必须完成的最迟时间。n稳定性:对某用户的作业而言,调度策略不应使其响应时间和周转时间变化太大。周转时间n作业的周转时间是指从作业提交到作业完成之间的时间间隔。n平均周转时间是指多个作业的周转时间的平均值。个作业的平均周转时间:n T=(T1T2 Tn)n(Ti为作业的周转时间)带权周转时间n带权周转时间是指作业周转时间与作业实际运行时间的
7、比。n平均带权周转时间是指多个作业的带权周转时间的平均值。个作业的平均带权周转时间:nW(W1W2 Wn)/n(Wi为作业的带权周转时间)5.2 调度算法n调度算法是指根据系统资源分配策略所规定的资源分配算法。n本章的算法有些适合作业调度,有些适合进程调度,有些适用于两者。5.2.1 先来先服务调度算法先来先服务调度算法n先来先服务算法既可用于作业调度,也可用于进程调度。n在作业调度中:从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源,创建进程,然后放入就绪队列。n进程调度中:从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运
8、行到完成或因等待某一事件而阻塞时才释放处理机。n设有4道作业,它们的提交时间及执行时间如下表,若按先来先服务调度算法进行调度,试计算4个作业的平均周转时间和平均带权周转时间。(时间单位:小时,以十进制计算)。先来先服务调度算法例 作业提交时间估计运行时间110 2210.21310.40.5410.50.3作业周转时间及带权周转时间的计算n平均周转时间T=(2.02.83.13.3)/4=2.8n平均带权周转时间W=(12.86.211)/4=5.25 11 6.2 2.8 1带权周转时间 3.3 3.1 2.8 2周转 时间 13.8 13.5 13 12完成 时间 13.5 13 12 1
9、0 开始 时间 0.3 0.5 1 2 运行 时间 10.5 10.4 10.2 10提交 时间 4 3 2 1 作业先来先服务算法特点n算法简单,易于实现,n但不利于短作业。5.2.2 短作业(进程)优先调度算法n在作业调度中,从后备队列中选择一个或多个估计运行时间最短的作业,将它们调入内存运行。n在进程调度中,从就绪队列中选择一个估计运行时间最短的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或因等待某一事件而阻塞时才释放处理机。短作业优先调度算法例n平均周转时间 T=(2.01.82.43.6)/4=2.45n平均带权周转时间 W=(164.83.6)/4=3.85 6 4.8
10、 3.6 1带权周转时间 1.8 2.4 3.6 2周转 时间 12.3 12.8 13.8 12完成 时间 12 12.3 12.8 10开始 时间 0.3 0.5 1 2运行 时间 10.5 10.4 10.2 10提交 时间 4 3 2 1作业短作业优先调度算法的特点n算法调度性能较好,例如上例中,先来先服务 短作业优先平均周转时间 2.8 2.45 平均带权周转时间 5.25 3.85n但对长作业不利,未考虑作业的紧迫程度,运行时间为估计。最短剩余时间优先调度算法n最短进程优先调度算法可以是非抢占式的,也可以是抢占式的。若无特别说明,通常是指非抢占式的算法。n抢占式的最短进程优先调度算
11、法也称为最短剩余时间优先调度算法,即当一个新进程进入就绪队列时,若其需要的运行时间比当前运行进程的剩余时间短,则它将抢占CPU。最短剩余时间优先算法例n时间:1.4 2.67 1 2.125带权周转时间 7 24 4 17周转 时间 10 26 5 17完成 时间 5 17 1 0开始 时间 5 9 4 8运行 时间 3 2 1 0提交 时间 D C B A作业0A1 2B3 4 510DA1726C最短剩余时间优先算法例(续)n平均周转时间 T=(174247)/4=13n平均带权周转时间 W=(2.12512.671.4)/4=1.8 1.4 2.67 1 2.125带权周转时间 7 24
12、 4 17周转 时间 10 26 5 17完成 时间 5 17 1 0开始 时间 5 9 4 8运行 时间 3 2 1 0提交 时间 D C B A 作业最短平均周转时间n当一批作业同时到达时,最短作业优先调度算法才能获得最短平均周转时间。n设一组作业p1、p2、pn,其周转时间为t1、t2、tn,且假定t1t2 tn,则短作业优先调度算法的总周转时间为:nt1+(t1+t2)+(t1+tn)=n*t1+(n-1)t2+tn最短平均周转时间(续)n可以证明:若a1 a2 an且b1b2 bn,则na1bn+a2bn-1+anb1n a1bi1+a2bi2+anbin n a1b1+a2b2+a
13、nbn n其中i1、i2、in 是1、2、n的一个排列。5.2.3 时间片轮转调度算法n时间片轮转法:系统将所有就绪进程按到达时间的先后次序排成一个队列,每次调度时把CPU分配给队首进程,并令其执行一个时间片。当时间片用完时,停止该进程的执行,将它送至就绪队列末尾等待下一次执行,然后再把处理机分配给就绪队列中的新队首进程。如此不断循环,直至完成为止。时间片轮转算法例n设有A、B、C、D、E五个进程,其到达时间分别为0、1、2、3、4,要求运行时间依次为3、6、4、5、2,采用时间片轮转调度算法,当时间片大小为1和4时,试计算其平均周转时间和平均带权周转时间。时间片大小为1nA、B、C、D、E要
14、求运行时间依次为3、6、4、5、2,到达时间依次为0、1、2、3、4。1:B运行,A等待;2:A运行,CB等待;3:C运行,BDA等待;4:B运行,DAEC等待;5:D运行,AECB等待;6:A运行,ECBD等待;7:E运行,CBD等待;8:C运行,BDE等待;9:B运行,DEC等待;10:D运行,ECB等待;11:E运行,CBD等待;12:C运行,BD等待;13:B运行,DC等待;14:D运行,CB等待;15:C运行,BD等待;16:B运行,D等待;17:D运行,B等待;18:B运行,D等待;19:D运行,0:A运行;时间片为1的周转时间n平均周转时间 T=(7181417+8)/5=12.
15、8n平均带权周转时间 W=(2.3333.53.4+4)/5=3.246 3.4 3.5 3 2.33带权周转时间 17 14 18 7周转 时间 20 16 19 7完成 时间 5 3 1 0开始 时间 5 4 6 3运行 时间 3 2 1 0提交 时间 D C B A 作业 4 8 12 7 2 4 E时间片大小为4nA、B、C、D、E要求运行时间 依次为3、6、4、5、2,到达时间依次为0、1、2、3、4。0:A运行,BCD依次到达;3:B运行,CD等待,后E到达;7:C运行,DEB等待;11:D运行,EB等待;15:E运行,BD等待;17:B运行,D等待;19:D运行A、B、C、D、E
16、开始时间依次为0、3、7、11、15;结束时间依次为3、19、11、20、17。时间片为4的周转时间n平均周转时间 T=(318917+13)/5=12n平均带权周转时间 W=(132.253.4+6.5)/5=3.23 3.4 2.25 3 1带权周转时间 17 9 18 3周转 时间 20 11 19 3完成 时间 11 7 3 0开始 时间 5 4 6 3运行 时间 3 2 1 0提交 时间 D C B A 作业 6.5 13 17 15 2 4 E时间片大小的选择n若时间片太大,所有进程都能在一个时间片内完成,则时间片轮转算法退化为先来先服务;若时间片太小,则进程调度频繁,系统开销增加
17、。确定时间片大小应考虑的因素n系统对响应时间的要求:响应时间=时间片*进程数。n就绪队列中的进程数目:时间片与就绪进程数成反比。n系统处理能力:人所能承受的响应时间一定,系统速度快则时间片可增长。时间片轮转算法的特点及改进n对偏重I/O的进程不公平。为此改进为虚拟时间片轮转算法。n虚拟时间片轮转算法:新进程基于FCFS进入就绪队列,进程用完时间片后也进入就绪队列,进程因I/O阻塞进入I/O队列,I/O完成时进程进入附加队列,附加队列的优先级高于就绪队列,当进程从附加队列被调度时,其运行时间不超过上次发生中断时剩余的时间。虚拟时间片轮转调度示意图CPU新进程就绪队列调度超时优先级高附加队列I/O
18、队列请求I/OI/O完成5.2.4 优先权调度算法n在作业调度中,从后备作业队列中选择若干优先权高的作业调入内存。n在进程调度中,将处理机分配给就绪队列中优先权最高的进程。n优先权通常用优先数来衡量。在某些系统中,优先数越大优先权越高;而在另一些系统中,优先数越大优先权越小。进程调度方式n进程调度有两种方式:n非抢占方式n抢占方式非抢占方式n非抢占方式:又称非剥夺方式、不可剥夺方式、不可抢占方式。这种调度方式是指一旦将处理机分配给某进程后,便让该进程一直执行,直到该进程完成或发生某事件而进入阻塞状态,才把处理机分配给其他进程。n非抢占方式中引起进程调度的因素有:进程结束、因某种原因而阻塞、执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 处理机调度1 处理机 调度
限制150内