第3章_进程调度(免费阅读)课件.ppt
《第3章_进程调度(免费阅读)课件.ppt》由会员分享,可在线阅读,更多相关《第3章_进程调度(免费阅读)课件.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 处理机调度与死锁处理机调度与死锁 调度目的:处理机调度的工作是对调度目的:处理机调度的工作是对CPUCPU资源进行合理资源进行合理的分配使用,以提高处理机利用率,并使各用户公平地的分配使用,以提高处理机利用率,并使各用户公平地得到处理机资源得到处理机资源。3.1 3.1 处理机调度基本概念处理机调度基本概念3.1.1 调度类型调度类型 1)低级(短期)调度)低级(短期)调度:确定选择哪个就绪的进程占有确定选择哪个就绪的进程占有CPU,所以也称为,所以也称为处理机调度,进程调度处理机调度,进程调度2)高级(长期、作业)调度:)高级(长期、作业)调度:确定哪些作业从外存调入内存确定哪些
2、作业从外存调入内存作业:作业:(用户)利用计算机进行一次运行所需工作的集合(用户)利用计算机进行一次运行所需工作的集合(比如,编辑、编译,运行等)。要执行一个程序,用户必须比如,编辑、编译,运行等)。要执行一个程序,用户必须先提交一个作业。先提交一个作业。通过批输入设备(卡片、纸带、磁带)通过批输入设备(卡片、纸带、磁带)批处理作业。批处理作业。通过终端启动的作业通过终端启动的作业交互式作业。交互式作业。提交作业方式提交作业方式 : 注:注: 用户进程在运行过程中,也可能会产生由系统管理的后用户进程在运行过程中,也可能会产生由系统管理的后台作业,比如打印作业。这些作业在条件满足时,由系统调度台
3、作业,比如打印作业。这些作业在条件满足时,由系统调度执行。执行。3 3)中级(中期)调度:)中级(中期)调度:为提高效率,加快进程运行,调节系为提高效率,加快进程运行,调节系统的负荷,统的负荷,有时需要在选择内存中阻塞或就绪的进程暂时放到外存(一有时需要在选择内存中阻塞或就绪的进程暂时放到外存(一般是硬盘),即所谓的般是硬盘),即所谓的挂起挂起。这种内外存的数据交换称为。这种内外存的数据交换称为对对换换。中级调度解决:中级调度解决:在阻塞或就绪的进程中选择哪个(些)进程挂起在阻塞或就绪的进程中选择哪个(些)进程挂起在条件允许下,在外存挂起的进程集合中如何选进程激活在条件允许下,在外存挂起的进程
4、集合中如何选进程激活并调回内存并调回内存外存外存对换对换作业输入作业输入 spooling输入程序输入程序 spooling 作业调度作业调度就就绪绪阻阻塞塞就就绪绪运运行行完完成成阻塞阻塞后后备备作业输出作业输出4)三种调度之间的关系如图)三种调度之间的关系如图低级调度低级调度中级调度中级调度3.1.2 3.1.2 调度队列模型调度队列模型 一、仅有进程调度的调度队列模型一、仅有进程调度的调度队列模型 特点:单就绪、单阻塞队列特点:单就绪、单阻塞队列就就队队 列列绪绪CPU进程调度进程调度进程完成进程完成时间片完时间片完阻阻队队 列列塞塞交互用户交互用户等待事件等待事件事件出现事件出现二、具
5、有高级和低级的调度队列模型二、具有高级和低级的调度队列模型特点特点 :1)1)具有进程调度、作业调度具有进程调度、作业调度 2)2)根据阻塞原因设置了多个阻塞队列根据阻塞原因设置了多个阻塞队列后后队队 列列备备1阻阻队队 列列塞塞作业调度作业调度就就队队 列列绪绪CPU进程调度进程调度进程完成进程完成时间片完时间片完等待事件等待事件1事件事件1出现出现2阻阻队队 列列塞塞n阻阻队队 列列塞塞等待事件等待事件2等待事件等待事件n事件事件2出现出现事件事件n出现出现三、同时具有三级调度的调度队列模型三、同时具有三级调度的调度队列模型作业调度作业调度就就队队 列列绪绪CPU进程调度进程调度进程完成进
6、程完成时间片完时间片完事件出现事件出现阻阻 塞塞列列、起起 队队挂挂阻阻队队 列列塞塞等待事件等待事件就绪、挂起队列就绪、挂起队列事件出现事件出现挂起挂起中级调度中级调度后后队队 列列备备交互型作业交互型作业批量作业批量作业挂起挂起选择哪种模型应根据系统的规模及目标制定选择哪种模型应根据系统的规模及目标制定3.1.3 3.1.3 选择调度方式和调度算法的若干标准选择调度方式和调度算法的若干标准1、调度目标:、调度目标:1)公平公平确保每个进程获得合理的确保每个进程获得合理的CPU份额份额2)效率效率是百分之百地忙碌是百分之百地忙碌3)响应时间响应时间使交互用户的响应时间尽可能短使交互用户的响应
7、时间尽可能短4)周转时间周转时间使批处理用户等待输出的时间尽可能短使批处理用户等待输出的时间尽可能短5)吞吐量吞吐量使每小时处理的作业数量多使每小时处理的作业数量多以上调度目标有矛盾之处,不可能满足所有情况,取以上调度目标有矛盾之处,不可能满足所有情况,取决于系统设计目标决于系统设计目标2、有关术语及衡量标准、有关术语及衡量标准周转时间周转时间T:批处理系统的一个重要指标。指作业从提交到批处理系统的一个重要指标。指作业从提交到完成(得到结果)所经历的时间。完成(得到结果)所经历的时间。 包括:包括:1)在外存后备队列中等待时间;)在外存后备队列中等待时间;2)CPU上执行时间;上执行时间;3)
8、就绪队列和阻塞队列中等待时间;)就绪队列和阻塞队列中等待时间;4)结果输出等待时间。)结果输出等待时间。周转时间常用以下参数衡量周转时间常用以下参数衡量 (原则上越小越好)(原则上越小越好) 平均周转时间平均周转时间: 带权周转时间带权周转时间 :niiTnT11nisiiTTnW11 其中其中:Ti/Tsi为第为第i个作业的带权周转时间,个作业的带权周转时间,Tsi系统为第系统为第i个作个作业提供的实际服务时间业提供的实际服务时间响应时间:响应时间:分时系统的一个重要指标。用户输入一个请求分时系统的一个重要指标。用户输入一个请求(如击键)到系统给出首次响应(如屏幕显示)的时间。(如击键)到系
9、统给出首次响应(如屏幕显示)的时间。包括:包括:1 1)从终端的键盘输入的一个请求信息传送到处理机的)从终端的键盘输入的一个请求信息传送到处理机的时间;时间;2 2)处理机对请求的处理时间;)处理机对请求的处理时间;3 3)处理结果送到终端)处理结果送到终端显示器的时间。显示器的时间。吞吐量:吞吐量:批处理系统的一个重要指标。单位时间内所完成的作批处理系统的一个重要指标。单位时间内所完成的作业数。业数。处理机利用率:处理机利用率:大中型主机多用户系统的性能指标,因为系统大中型主机多用户系统的性能指标,因为系统价格昂贵,所以非常重视其价格昂贵,所以非常重视其CPUCPU利用率。利用率。PCPC一
10、般不考虑这个一般不考虑这个指标。指标。各种设备的均衡利用:各种设备的均衡利用:大中型主机多用户系统性能指标。如大中型主机多用户系统性能指标。如CPUCPU繁忙的作业和繁忙的作业和I/OI/O繁忙的作业搭配。对繁忙的作业搭配。对PCPC及实时系统该指及实时系统该指标并不重要。标并不重要。 3. 调度准则 面向用户准则周转时间短;周转时间短;响应时间快;响应时间快;截止时间保证;截止时间保证;优先权准则优先权准则 面向系统的准则系统吞吐量系统吞吐量处理机利用率处理机利用率各类资源的平衡利用各类资源的平衡利用3.2 3.2 调度算法调度算法 一、调度的时机一、调度的时机 调度的时机是与调度方式有关,
11、一般在以下情况下会发生调度的时机是与调度方式有关,一般在以下情况下会发生进程调度:进程调度:(1 1)正在执行的进程正常结束或由于某种错误而终止运行;)正在执行的进程正常结束或由于某种错误而终止运行;(2 2)执行中的进程提出)执行中的进程提出I/OI/O请求,在等待请求,在等待I/OI/O完成前,进程阻塞完成前,进程阻塞,转进程调度;,转进程调度;(3 3)在分时系统中,按照时间片轮转,分给进程的时间片用完)在分时系统中,按照时间片轮转,分给进程的时间片用完时;时; (4 4)按照优先级调度,有更高优先级进程变为就绪时;)按照优先级调度,有更高优先级进程变为就绪时;(5 5)在进程通讯中,执
12、行中的进程执行了某种原语操作,如在进程通讯中,执行中的进程执行了某种原语操作,如P操作、阻塞原语和唤醒原语时,都可能引起进程调度。操作、阻塞原语和唤醒原语时,都可能引起进程调度。二、常用的调度方法二、常用的调度方法1. 1. 先来先服务(先来先服务(FCFSFCFS算法)算法) 按照作业提交或进程变为就绪状态的先后次序,分派按照作业提交或进程变为就绪状态的先后次序,分派CPUCPU;当前作业或进程占用当前作业或进程占用CPUCPU,直到执行完或阻塞,才主动地出让,直到执行完或阻塞,才主动地出让CPUCPU。特点:非常简单,易于实现;但对短作业而言,带权周转时特点:非常简单,易于实现;但对短作业
13、而言,带权周转时间可能太大。间可能太大。按按FCFS原则的进程调度原则的进程调度进程名进程名到达时间到达时间服务时间服务时间开始时开始时间间完成时完成时间间周转时周转时间间带权周带权周转时间转时间A03B26C44D65E823913182037912121.001.172.252.406.000391318特点:特点:比比FCFSFCFS改善了平均周转时间和平均带权周转时间,缩短作业改善了平均周转时间和平均带权周转时间,缩短作业的等待时间,提高了系统的吞吐量;的等待时间,提高了系统的吞吐量;对长作业非常不利,可能长时间得不到执行;对长作业非常不利,可能长时间得不到执行;难以准确估计作业(进程
14、)的执行时间,从而影响调度性能难以准确估计作业(进程)的执行时间,从而影响调度性能2.2.短作业(进程)优先短作业(进程)优先 对执行时间短的作业(进程)优先分派处理机。对执行时间短的作业(进程)优先分派处理机。什么是短作业?什么是短作业?以前没有执行过!以前没有执行过!按什么标准:按什么标准: 时间?时间?程序长度?程序长度?while(1);特点:特点:比比FCFSFCFS改善了平均周转时间和平均带权周转时间,缩短作业改善了平均周转时间和平均带权周转时间,缩短作业的等待时间,提高了系统的吞吐量;的等待时间,提高了系统的吞吐量;对长作业非常不利,可能长时间得不到执行;对长作业非常不利,可能长
15、时间得不到执行;难以准确估计作业(进程)的执行时间,从而影响调度性能难以准确估计作业(进程)的执行时间,从而影响调度性能2.2.短作业(进程)优先短作业(进程)优先 对执行时间短的作业(进程)优先分派处理机。对执行时间短的作业(进程)优先分派处理机。什么是短作业?什么是短作业? 由用户自己利用由用户自己利用作业控制语言说明程作业控制语言说明程序预计执行时间。序预计执行时间。按非抢占式按非抢占式SJF原则的进程调度原则的进程调度进程名进程名到达时间到达时间服务时间服务时间开始时开始时间间完成时完成时间间周转时周转时间间带权周带权周转时间转时间A03B26C44D65E82031115939152
16、011361114316/311/414/53/2按抢占式按抢占式SJF原则的进程调度原则的进程调度进程名进程名到达时间到达时间服务时间服务时间开始时开始时间间完成时完成时间间周转时周转时间间带权周带权周转时间转时间A03B26C44D65E823. 3. 时间片轮转时间片轮转 主要用于低级调度,是一种主要用于低级调度,是一种最古老、最简单、最公平且最古老、最简单、最公平且使用最广泛使用最广泛的方法。的方法。 将将系统中所有的就绪进程按照系统中所有的就绪进程按照FCFSFCFS原则,排成一个队列原则,排成一个队列。每次调度时将。每次调度时将CPUCPU分派给队首进程,让其执行一个时间片分派给队
17、首进程,让其执行一个时间片。在一个时间片结束时,发生时钟中断。调度程序据此暂停。在一个时间片结束时,发生时钟中断。调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾。(进程可以由当前进程的执行,将其送到就绪队列的末尾。(进程可以由于阻塞或已运行结束,在未用完一个时间片时,主动放弃于阻塞或已运行结束,在未用完一个时间片时,主动放弃CPUCPU)。)。 主要问题:主要问题:如何确定时间片的长短如何确定时间片的长短cpu效率效率=时间片长度时间片长度/(时间片长度时间片长度+调度切换时间调度切换时间) 对一个系统,调度切换时间可近似看成定数。我们可以调对一个系统,调度切换时间可近似看成定数。我们
18、可以调整时间片长度改变整时间片长度改变cpu效率。效率。短:短:比如调度时间需比如调度时间需50ms,50ms,时间片时间片50ms50ms。效率。效率=50%=50%。 用户的一次请求需要多个时间片才能处理完,切换次数增用户的一次请求需要多个时间片才能处理完,切换次数增加。加。长:长:时间片到时间片到500ms500ms,效率,效率=99%=99%。 若有若有1010个进程,这十个用户若几乎同时按下键盘,从第个进程,这十个用户若几乎同时按下键盘,从第1 1个响个响应到他再次轮到运行要等应到他再次轮到运行要等 9 9* *0.5=4.50.5=4.5秒秒远远超出能容忍的远远超出能容忍的时间。时
19、间。 等待时间一般不要超出等待时间一般不要超出1 1秒,因此应该有:秒,因此应该有: (时间片长度时间片长度+调度切换时间调度切换时间)*进程数进程数=1000ms所以:所以:时间片长度时间片长度=1000/进程数进程数-调度切换时间调度切换时间 1000/进程数进程数 对一个分时系统,联机的用户数是变化的。随进程数变化调对一个分时系统,联机的用户数是变化的。随进程数变化调整时间片长度是合理的。但由于进程数的变化几乎是连续不断整时间片长度是合理的。但由于进程数的变化几乎是连续不断的,所以没有必要随着实时的变化,这样系统开销也大。折衷的,所以没有必要随着实时的变化,这样系统开销也大。折衷的办法是
20、:进程数在一个区间范围内用一个时间片,在另一个的办法是:进程数在一个区间范围内用一个时间片,在另一个区间范围内,用另一个时间片。系统可以每间隔一段时间,检区间范围内,用另一个时间片。系统可以每间隔一段时间,检测当前进程数,确定有无必要调整时间片长度。测当前进程数,确定有无必要调整时间片长度。按时间片轮转的进程调度(时间片长为按时间片轮转的进程调度(时间片长为1)进程名进程名到达时间到达时间服务时间服务时间 开始时开始时间间完成时完成时间间周转时周转时间间带权周带权周转时间转时间A03B26C44D65E824 4、优先权调度、优先权调度 前者简单,在实时性要求不高或时间片不很长时可考虑;前者简
21、单,在实时性要求不高或时间片不很长时可考虑;后者适合于实时要求高的场合,但时刻要监视有否更高优后者适合于实时要求高的场合,但时刻要监视有否更高优先权的进程产生。先权的进程产生。1)优先权调度分为:优先权调度分为: 非抢占式:非抢占式:除系统一旦把处理机分配给就绪队列中优先权最高的进除系统一旦把处理机分配给就绪队列中优先权最高的进城后,该进程便一直执行下去,直至完成;或者因发生某件事件使该城后,该进程便一直执行下去,直至完成;或者因发生某件事件使该进程放弃处理机时,系统方可再将处理机重新分配给另一个优先权最进程放弃处理机时,系统方可再将处理机重新分配给另一个优先权最高的进程。高的进程。 抢占方式
22、:抢占方式:系统同样是吧处理机分配给优先权最高的进程,使之执行系统同样是吧处理机分配给优先权最高的进程,使之执行。但在其执行期间,只要有另外一个优先权更高的进程,进程调度程序。但在其执行期间,只要有另外一个优先权更高的进程,进程调度程序就立即停止当前进程的执行,重新将处理机分配给新到的最高优先权进就立即停止当前进程的执行,重新将处理机分配给新到的最高优先权进程。程。抢占方式在实际的操作系统设计中也会有细分:抢占方式在实际的操作系统设计中也会有细分:内核部分可抢占:内核部分可抢占:用户态时可以随时被抢占用户态时可以随时被抢占CPU,但当进程在,但当进程在核心态时则大部分时间都不可以抢用核心态时则
23、大部分时间都不可以抢用CPU,而只在某些时刻(,而只在某些时刻(称为可抢占点,称为可抢占点,Preemption Point),可以抢用),可以抢用CPU。例:。例: UNIX SVR 4。 内核完全不可抢占:内核完全不可抢占:用户态时可以随时被抢占用户态时可以随时被抢占CPU,但当进程,但当进程在核心态时,则完全不可以被抢用在核心态时,则完全不可以被抢用CPU。例:。例:UNIX(SVR 3和和4.3BSD UNIX及其以前的版本)、及其以前的版本)、WINDOWS NT。这些这些OS通通常在系统调用或中断处理时屏蔽大部分中断,系统调用返回或常在系统调用或中断处理时屏蔽大部分中断,系统调用返
24、回或中断返回时再开放大部分中断。中断返回时再开放大部分中断。 完全可抢占或内核完全可抢占:完全可抢占或内核完全可抢占:无论处于用户态还是核心态,无论处于用户态还是核心态,都可以随时被抢占都可以随时被抢占CPU 。例:。例:SUNSUN公司的公司的Solaris 、Windows 2000 / XP。实际上,。实际上,Solaris和和Windows 2000 / XP并不是并不是100%完全可抢占,只是将内核中不可抢占的代码段尽量减少而已。完全可抢占,只是将内核中不可抢占的代码段尽量减少而已。任何任何OS都不可能是都不可能是100%的完全可抢占的。的完全可抢占的。2 2)优先权的类型)优先权的
25、类型静态优先级静态优先级 创建进程时就确定,直到进程终止前都不改变。通常是一个整创建进程时就确定,直到进程终止前都不改变。通常是一个整数。数。 进程类型(系统进程优先级较高)进程类型(系统进程优先级较高) 依据依据 对资源的需求(对对资源的需求(对CPUCPU和内存需求较少的进程,优和内存需求较少的进程,优 先级较高)先级较高) 用户要求(紧迫程度和付费多少)用户要求(紧迫程度和付费多少)动态优先级动态优先级 创建进程时赋予的优先级,在进程运行过程中可以自动改变,创建进程时赋予的优先级,在进程运行过程中可以自动改变,以便获得更好的调度性能(以便获得更好的调度性能(UNIXUNIX中采用)。中采
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进程 调度 免费 阅读 课件
限制150内