处理机调度算法详解_第1页
处理机调度算法详解_第2页
处理机调度算法详解_第3页
处理机调度算法详解_第4页
处理机调度算法详解_第5页
全文预览已结束

下载本文档

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

文档简介

1、关于处理机调度算法 操作系统教材中,介绍了常用的作业调度算法和进程调度算法。其中先来先服务法(FCFS)和优先级法对作业调度和进程调度都适用,时间片轮转法(RR)适用于进程调度。此外,还介绍了其他调度算法,如短作业优先法、最短剩余时间优先法、多级队列法和多级反馈队列法,这4个算法不是课程的重点内容,不作为考核要求。 需要指出的是:(1)在作业调度和进程调度中同时出现的算法,如FCFS、优先级法,其使用原理是基本相同的;(2)作业调度算法和进程调度算法应严格与存储管理中的“请求淘汰换页算法”相区别,注意不要混淆。 下面,结合具体的例题,详解调度算法:1. 先来先服务法(FCFS)算法描述:每次调

2、度时,从后备作业队列或就绪队列中选择一个最先进入该队列的作业或进程。【例1】下表给出作业l,2,3的到达时间和运行时间。采用先来先服务调度算法,试问作业调度的次序和平均周转时间各为多少?(时间单位:小时,以十进制进行计算。)作业号到达时间运行时间1230.00.41.08.04.01.0分析 解题关键是要根据系统采用的调度算法,弄清系统中各道作业随时间的推进情况。我们可以用一个作业执行时间图来形象地表示作业的执行情况,帮助我们理解此题。先来先服务调度算法是按照作业到达的先后次序挑选作业,先进入的作业优先被挑选。即按照“排队买票”的办法,依次选择作业。其作业执行时间图如下: 作业作业3作业2作业

3、1 0 0.4 1.0 8.0 12.0 13.0 时间 作业提交时间 各作业陆续完成时间 或者简化为下图: 作业1 作业2 作业3 | | | | 时间0 8 12 13由于作业1,2,3是依次到来的,所以刚开始时系统中只有作业1,于是作业1被选中。在8.0时刻,作业1运行完成,这时作业2和作业3已经到达,都在系统中等待调度,按照先来先服务法的规定,每次调度最先进入就绪队列中的作业,由于作业2比作业3先到达,于是作业2被优先选中运行。待作业2运行完毕,最后运行作业3。因此,作业调度的次序是1,2,3。另外,要记住以下周转时间和平均周转时间的算术公式:作业i的周转时间Ti作业i的完成时间作业i

4、的提交时间 系统中n个作业的平均周转时间,其中Ti为作业i的周转时间。解:采用先来先服务调度策略,作业调度次序为l、2、3。作业号到达时间 运行时间 开始时间 完成时间周转时间1 0.08.00.08.0 8.02 0.44.08.0 12.0 11.63 1.01.0 12.0 13.0 12.0平均周转时间T(811.612)/310.53思考题1 在某操作系统中,设有三个批处理作业,所需执行时间分别为2 小时,1小时和25分钟,相继到达时间分别为6:00、6:10和6:25。 若对这三个批处理作业采用调试算法S1,其执行情况如下: 作业号 到达时间 开始执行时间 执行结束时间 1 6:0

5、0 6:00 8:00 2 6:10 8:00 9:00 3 6:25 9:00 9:25 则调试算法S1属于( )。A优先级法 B先来先服务法C短作业优先法 D时间片轮转法2. 时间片轮转法(RR)算法描述:用于分时系统中的进程调度。每次调度时,总是选择就绪队列的队首进程,让其在CPU上运行一个系统预先设置好的时间片。一个时间片内没有完成运行的进程,返回到绪队列末尾重新排队,等待下一次调度。【例2】进程A、B、C、D需要运行的时间分别为20ms、10 ms、15 ms、5 ms,均在0时刻到达。到达的先后次序为ABCD。如果时间片分别为1 ms和5ms,计算各个进程的带权周转时间和平均带权周

6、转时间。分析 在掌握了时间片轮转法概念的基础上,我们可以用一个执行时间图来形象地表示作进程的执行情况,帮助我们理解此题。具体如下:0 5 10 15 20 25 30 35 40 45 50进程DCBADCBA时间片=1时间片=5 根据执行时间图就可以计算各个进程的带权周转时间和平均带权周转时间了。这里要注意的是,要记住带权周转时间和平均带权周转时间的算术公式:带权周转时间W,即: W=其中T为周转时间,R为实际运行时间。平均带权周转时间为: 解:采用时间片轮转法进行调度,算法的性能指标如下:到达时间进程名到达时间运行时间开始时间完成时间周转时间带权周转时间时间片=1A020050502.5B

7、010134343.4C015245453.0D05320204.0平均周转时间=37.25 平均带权周转时间=3.225时间片=5A020050502.5B010530303.0C0151045453.0D051520204.0平均周转时间=36.25 平均带权周转时间=3.125感兴趣的同学还可以根据时间片从110的变化,多计算几次,并分析每次计算得到的平均周转时间,做一条平均周转时间随时间片变化的曲线,来体会时间片的变化对平均周转时间的影响,并分析原因。思考题2时间片轮转调度算法是为了( )。A多个终端都能得到系统的及时响应 B先来先服务C优先级高的进程先使用CPU D紧急事件优先处理3

8、. 优先级法算法描述:优先级调度算法总是从后备作业队列或进程就绪队列中选中优先级最高的作业或进程。【例3】设有进程A、B、C、D依次进入就绪队列(相隔一个时间单位),它们的优先级(数值大的优先级高)如下表所示:进程运行时间优先级A203B151C84D103试问采用“静态优先级”调度算法,选中进程的执行次序。分析 关于优先级和优先数优先级一般用某个固定范围内的整数表示,例如07或04095中的某一个数。这种整数称作优先数。值得注意的是,优先级与优先数的对应关系因系统而异,在有些系统中优先数越大,优先级越高;而另外一些系统则恰恰相反,优先数越小,优先级越高,如UNIX/Linux系统就是这样。本

9、书采用“优先数小、优先级高”的表示方式。为了简化优先级的表示,避免优先级和优先数混淆,我们约定:在练习和考试中不使用优先数,直接用数值表示优先级,数值大的表示优先级高。以本题为例,按照约定,进程C的优先级最高,进程B的优先级最低。此外,静态优先级的含义是在进程运行期间,其优先级保持不变。而动态优先级往往是根据系统的情况不断改变的,本题采用静态优先级使得问题的描述相对简单了。解:采用静态优先级,进程A最先就绪,在0时刻先占有CPU运行,随后1时刻进程B进入就绪队列,2时刻进程C进入就绪队列,3时刻进程D进入就绪队列。由于采用静态优先级,不容许随时间的推移改变进程的优先级,所以当进程A运行结束时,

10、系统的就绪队列中有B、C、D三个进程,而进程C优先级最高,于是选中C;这样分析下去,进程的执行次序是A-C-D-B。思考题3假定在单CPU条件下有下列要执行的作业:作业到达时间运行时间优先级1010221433235 作业优先级从高到低的次序是5,3,2。 在采用非抢占式优先级算法时,请计算各个作业的周转时间、平均周转时间、带权周转时间和平均带权周转时间。4三种调度算法的比较算法优点缺点先来先服务法简单易用,公平;有利于CPU繁忙型作业;有利于长作业(或进程);不利于I/O型繁忙型作业;不利于短作业(或进程);效率低;时间片轮转法用于分时系统,满足交互时间片的设置成为瓶颈,短了切换频繁,降低CPU效率;长了影响交互请求。优先级法在综合考虑各种因素的基础上,急事先办如果优先级不能动态改变,低优先级进程可能会“饥饿”。值得注意的是,上面这些常用的调度算法常常结合使用,如时间片轮转法通常与先来先服务法和优先级法结合使用。还有一些调度算

温馨提示

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

最新文档

评论

0/150

提交评论