计算机操作系统第三章处理机调度与死锁课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机操作系统第三章处理机调度与死锁课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 第三 处理机 调度 死锁 课件
- 资源描述:
-
1、第三章第三章 处理机调度与死锁处理机调度与死锁要解决的三个问题:要解决的三个问题:WHAT:按什么原则分配按什么原则分配CPU?进程调度算法进程调度算法WHEN:何时分配何时分配CPU?进程调度的时机进程调度的时机HOW:如何分配如何分配CPU?CPU调度过程(进程的上下文切换)调度过程(进程的上下文切换)1PPT课件主要内容主要内容u 处理机调度的层次处理机调度的层次u 调度队列模型和调度准则调度队列模型和调度准则u 调度算法调度算法u 实时调度实时调度u 产生死锁的原因和必要条件产生死锁的原因和必要条件u 预防和避免死锁的办法预防和避免死锁的办法u 死锁的检测与解除死锁的检测与解除2PPT
2、课件3.1 处理机调度的层次处理机调度的层次高级调度高级调度1 作业和作业步作业和作业步 作业作业 不仅包含通常的程序和数据,还应配备一份不仅包含通常的程序和数据,还应配备一份作作业说明书业说明书,系统根据作业说明书对程序的运行进程,系统根据作业说明书对程序的运行进程控制。在批处理系统中,是以作业为基本单位从外控制。在批处理系统中,是以作业为基本单位从外存调入内存。存调入内存。3PPT课件 作业步作业步 作业运行期间,每个作业都必须经过若干个作业运行期间,每个作业都必须经过若干个相对相对独立、又相互关联的顺序加工步骤独立、又相互关联的顺序加工步骤,才能得到结果,才能得到结果,把其中的每一个加工
3、步骤称为一个作业步。把其中的每一个加工步骤称为一个作业步。1)编译)编译 2)连接装配)连接装配 3)运行)运行 作业流作业流 若干个作业进入系统后,被依次存放在外存上,若干个作业进入系统后,被依次存放在外存上,形成形成输入的作业流输入的作业流;在;在OS的控制下,逐个作业进的控制下,逐个作业进行处理,形成了行处理,形成了处理作业流处理作业流。编译程序对源程序编译程序对源程序进行编译,生成若进行编译,生成若干个目标程序段。干个目标程序段。将目标程序段将目标程序段装配成可执行装配成可执行的目标程序的目标程序将目标程序读将目标程序读入内存并控制入内存并控制其运行其运行4PPT课件2 作业控制块作业
4、控制块 多道批处理系统中,为每个作业配备一个作业多道批处理系统中,为每个作业配备一个作业控制块(控制块(JCB),它),它是作业在系统中存在的标志是作业在系统中存在的标志。作业运行期间,系统按照作业运行期间,系统按照JCB中的信息对作业进行中的信息对作业进行控制。控制。JCB中中保存了系统对作业进行管理和调度所需保存了系统对作业进行管理和调度所需的全部信息的全部信息。例如:作业标识、用户名称、用户帐。例如:作业标识、用户名称、用户帐户、作业类型、作业状态、调度信息、资源需求、户、作业类型、作业状态、调度信息、资源需求、进入系统时间、开始处理时间、作业完成时间、作进入系统时间、开始处理时间、作业
5、完成时间、作业退出时间、资源使用情况等。业退出时间、资源使用情况等。5PPT课件3 作业调度(作业调度(高级调度、长程调度、接纳调度高级调度、长程调度、接纳调度)定义定义 按照一定的算法,从按照一定的算法,从外存的后备队列外存的后备队列中中选取某些作业调入内存,并为它们创建进程、选取某些作业调入内存,并为它们创建进程、分配必要的资源分配必要的资源 两个决定两个决定 1决定接纳决定接纳多少个多少个作业(多道程序度)作业(多道程序度)2决定接纳决定接纳哪些哪些作业作业数目过多:数目过多:每个进程可以每个进程可以执行的时间片就越小,单执行的时间片就越小,单个进程的周转时间越长;个进程的周转时间越长;
6、数目过少:数目过少:资源利用率和资源利用率和系统吞吐量下降,应考虑系统吞吐量下降,应考虑调度新的进程进入内存。调度新的进程进入内存。选用何种调度算法:先来先服务、选用何种调度算法:先来先服务、短作业优先、基于作业优先级、响短作业优先、基于作业优先级、响应比高者优先。应比高者优先。6PPT课件注意注意 批处理系统中,作业是首先进入外存,批处理系统中,作业是首先进入外存,然后经由作业调度分批进入内存;然后经由作业调度分批进入内存;分时系统及实时系统分时系统及实时系统中,由于对响应中,由于对响应时间有要求,因此用户输入的命令和数据时间有要求,因此用户输入的命令和数据等是直接进入内存的,等是直接进入内
7、存的,无须配置作业调度无须配置作业调度机制机制。7PPT课件1 定义定义 决定就绪队列中的哪个进程应获得处理机,然决定就绪队列中的哪个进程应获得处理机,然后由分派程序执行把处理机分配给该进程的具体后由分派程序执行把处理机分配给该进程的具体操作。操作。低级调度是最基本的一种调度,多道批处理、低级调度是最基本的一种调度,多道批处理、分时、实时系统中都必须配置。分时、实时系统中都必须配置。2 主要功能主要功能 保存当前进程的处理机现场信息保存当前进程的处理机现场信息 按某种算法(优先数算法、轮转法)选择进程按某种算法(优先数算法、轮转法)选择进程 将将CPU分配给该进程,恢复新进程的处理机现场,让分
8、配给该进程,恢复新进程的处理机现场,让其从断点开始执行。其从断点开始执行。低级调度低级调度(进程调度、短程调度)(进程调度、短程调度)8PPT课件3 进程调度机制进程调度机制 排队器排队器 将系统中的所有就绪进程按某种方式排成一个或多个队列,方便调度程序寻找。分派器分派器 将选中进程从后备队列移出,将处理机分配给它 上下文切换机制上下文切换机制 两次上下文切换:保存当前进程上下文,装入dispatcher上下文;移出dispatcher上下文,装入新选中进程的上下文。9PPT课件4 进程调度方式进程调度方式 非抢占方式非抢占方式 一旦把处理机分配给某进程后,一直让它一旦把处理机分配给某进程后,
9、一直让它运行下去,不能因为时钟中断等原因或由其它运行下去,不能因为时钟中断等原因或由其它进程抢占分配给它的处理机。直至该进程完成,进程抢占分配给它的处理机。直至该进程完成,或因某事件阻塞,才能重新分配处理机。或因某事件阻塞,才能重新分配处理机。优点:优点:实现简单,系统开销小;实现简单,系统开销小;缺点:缺点:难以满足紧急任务的要求,可能造成难难以满足紧急任务的要求,可能造成难以预料的后果。实时系统中,不宜采用该方式。以预料的后果。实时系统中,不宜采用该方式。10PPT课件 抢占方式抢占方式 允许调度程序根据某种原则暂停某个允许调度程序根据某种原则暂停某个正在执行的进程,将已分配给该进程的处正
10、在执行的进程,将已分配给该进程的处理机重新分配给另一进程。理机重新分配给另一进程。抢占原则:抢占原则:优先权、短作业优先、时间片。优先权、短作业优先、时间片。优点:优点:防止长进程长时间占用防止长进程长时间占用CPU,为大,为大多数进程提供更公平的服务,特别是能满多数进程提供更公平的服务,特别是能满足实时任务的要求。足实时任务的要求。缺点:缺点:与非抢占方式相比,开销较大。与非抢占方式相比,开销较大。11PPT课件 当被挂起的进程重新具备运行条件且内当被挂起的进程重新具备运行条件且内存稍有空闲时,把外存上的那些具备运行条存稍有空闲时,把外存上的那些具备运行条件的进程重新调入内存,并修改其状态为
11、就件的进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度。绪状态,挂在就绪队列上等待进程调度。中级调度中级调度12PPT课件3.2 调度队列模型和调度准则调度队列模型和调度准则仅有进程调度的调度队列模型仅有进程调度的调度队列模型仅具有进程调度的调度队列模型仅具有进程调度的调度队列模型时间片完时间片完就就 绪绪 队队 列列阻阻 塞塞 队队 列列CPU交互用户交互用户进程调度进程调度进程完成进程完成等待事件等待事件事件发生事件发生FIFO队列队列13PPT课件具有高级和低级调度的调度队列模型具有高级和低级调度的调度队列模型 具有高、低两级调度的调度队列模型具有高、低两级调度的调度
12、队列模型就就 绪绪 队队 列列阻阻 塞塞 队队 列列CPU时间片完时间片完作业作业调度调度进程调度进程调度进程完成进程完成等待事件等待事件1阻阻 塞塞 队队 列列阻阻 塞塞 队队 列列等待事件等待事件2等待事件等待事件n事件事件1发生发生事件事件2发生发生事件事件n发生发生后后 备备 队队 列列优先权队列优先权队列14PPT课件 具有高、低、中三级调度的调度队列模型具有高、低、中三级调度的调度队列模型就就 绪绪 队队 列列绪绪就就、挂挂 起起 队队 列列CPU时间片完时间片完作业作业调度调度进程调度进程调度进程完成进程完成事件出现事件出现阻阻 塞塞 队队 列列挂起挂起等待事件等待事件中级中级调
13、度调度事件发生事件发生后后 备备 队队 列列塞塞阻阻、挂挂 起起 队队 列列挂起挂起同时具有三级调度的调度队列模型同时具有三级调度的调度队列模型15PPT课件 面向用户的准则面向用户的准则 周转时间短(批处理)周转时间短(批处理)响应时间快(分时)响应时间快(分时)截止时间保证(实时)截止时间保证(实时)优先权准则(优先权准则(all)选择调度方式和调度算法的若干准则选择调度方式和调度算法的若干准则带权周转时间:作业的周转时间与带权周转时间:作业的周转时间与系统为它提供服务的时间之比系统为它提供服务的时间之比niTTsinW11周转时间周转时间作业被提交给系作业被提交给系统开始,到作业完成为止
14、的这统开始,到作业完成为止的这段时间间隔。段时间间隔。包括:在外存后包括:在外存后备队列等待调度的时间;在内备队列等待调度的时间;在内存就绪队列等待调度的时间;存就绪队列等待调度的时间;在在CPU上执行的时间;等待上执行的时间;等待I/O操作的时间。操作的时间。niiTnT11响应时间:用户通过键盘提交请求开始,直至系统首次产生响应响应时间:用户通过键盘提交请求开始,直至系统首次产生响应为止。包括:请求信息传送到为止。包括:请求信息传送到CPU的时间,的时间,CPU处理请求的时间,处理请求的时间,将响应信息回送到终端显示器的时间将响应信息回送到终端显示器的时间16PPT课件 面向系统的准则面向
15、系统的准则系统吞吐量高系统吞吐量高处理机利用率好处理机利用率好各类资源的平衡利用各类资源的平衡利用吞吐量:单位时间内,系统完成的作业数处理机利用率:一般在40%90%各类资源:内存、外存和外设的平衡利用17PPT课件3.3 调度算法调度算法 根据系统的资源分配策略所规定的根据系统的资源分配策略所规定的资源资源分配算法分配算法u 先来先服务算法先来先服务算法u 短作业优先算法短作业优先算法u 高优先权优先算法高优先权优先算法u 时间片轮转调度算法时间片轮转调度算法18PPT课件先来先服务(先来先服务(FCFS)主要用于作业调度,也可用于进程调度。主要用于作业调度,也可用于进程调度。用于作业调度:
16、用于作业调度:每次从后备作业队列中选择每次从后备作业队列中选择最先进入的作业最先进入的作业,将它们调入内存,将它们调入内存,为它们分配资源、创建进程,然后挂到就绪进程队列上。为它们分配资源、创建进程,然后挂到就绪进程队列上。有利于长作业,而不利于短作业有利于长作业,而不利于短作业。用于进程调度:用于进程调度:每次从就绪进程队列中选择每次从就绪进程队列中选择最先进入的进程最先进入的进程,为之分配处理机,为之分配处理机,使之投入运行。使之投入运行。直到运行完成进程才会让出处理机直到运行完成进程才会让出处理机-非抢占式非抢占式。性能评价:性能评价:周转时间周转时间 =完成时间完成时间 到达时间到达时
17、间 带权周转时间带权周转时间 =周转时间周转时间/服务(运行)时间服务(运行)时间19PPT课件先来先服务(先来先服务(FCFS)进程进程编码编码到达到达时间时间服务服务时间时间开始执开始执行时间行时间完成完成时间时间周转周转时间时间带权周带权周转时间转时间A010111B110011011001C21101102100100D31001022021991.9920PPT课件短作业短作业/进程优先进程优先(SJ/PF)短作业优先(短作业优先(SJF)从后备队列中选择从后备队列中选择估计运行时间最短估计运行时间最短的作业,调入内存运行。的作业,调入内存运行。短进程优先短进程优先(SPF)从就绪队
18、列中选出从就绪队列中选出估计运行时间估计运行时间最短的进程,将处理机分配最短的进程,将处理机分配给它,使它立即执行。给它,使它立即执行。直到运行完成进程才会让出处理机直到运行完成进程才会让出处理机-非抢占式非抢占式。缺点:缺点:对长作业不利对长作业不利,有可能长期不被调度;,有可能长期不被调度;完全完全没考虑作业的紧迫程度没考虑作业的紧迫程度(某些特殊的);(某些特殊的);用户做出的估计时间带有很大的用户做出的估计时间带有很大的主观性主观性。21PPT课件短作业/进程优先(SJ/PF)作调 业 度 情 算 况 法进程名ABCDE平均到达时间01234服务时间43524FCFS完成时间47121
19、418周转时间461011149带权周转时间1225.53.52.8SJ/PF完成时间4918613周转时间4816398带权周转时间12.673.11.52.252.122PPT课件优先级优先级(FPF)既能用于作业调度,也可用于进程调度。既能用于作业调度,也可用于进程调度。调度思想调度思想:从队列中选择优先权最高的调度单元,从队列中选择优先权最高的调度单元,装入内存或分配给处理机。装入内存或分配给处理机。对进程调度而言,有对进程调度而言,有非抢占式非抢占式和和抢占式抢占式两种。两种。把处理机分配给就绪队列中优先权把处理机分配给就绪队列中优先权最高的进程,直至完成或因某种原最高的进程,直至完
20、成或因某种原因阻塞,才让出处理机。主要用于因阻塞,才让出处理机。主要用于批处理系统批处理系统中中同样是把同样是把CPU分给优先权最高的进程,但在该进程分给优先权最高的进程,但在该进程执行过程中,如有优先级更高的进程到来,则立即执行过程中,如有优先级更高的进程到来,则立即停止当前进程的执行,将停止当前进程的执行,将CPU分配给新到的优先级分配给新到的优先级最高的进程。常用于要求比较严格的最高的进程。常用于要求比较严格的实时系统实时系统中。中。23PPT课件 优先权优先权(0-255)静态静态优先权、优先权、动态动态优先权。优先权。优先权在创建进程时即确定,且在进优先权在创建进程时即确定,且在进程
21、的整个运行期间保持不变程的整个运行期间保持不变创建进程时所赋予的优先权,随进程的推进创建进程时所赋予的优先权,随进程的推进或等待时间的增加而改变或等待时间的增加而改变例如规定:例如规定:就绪队列中的进程,随就绪队列中的进程,随等待时间的延长等待时间的延长,优先,优先权以速率权以速率增长增长;执行中的进程,随执行中的进程,随执行时间的延长执行时间的延长,优先权以,优先权以速率速率下降下降。24PPT课件 高响应比高响应比优先调度算法优先调度算法动态优先权,与作业等待时间相关。动态优先权,与作业等待时间相关。优先权优先权=响应比(响应比(Rp)=(等待时间(等待时间+要求服务时间)要求服务时间)/
22、要求服务时间要求服务时间 =响应时间响应时间/要求服务时间要求服务时间 分析:分析:等待时间相同,等待时间相同,要求服务时间越短要求服务时间越短,优先级越高。有利于短作业。,优先级越高。有利于短作业。要求服务时间相同,要求服务时间相同,等待时间越长等待时间越长,优先级越高。即,优先级越高。即FCFS。对于长作业,优先级对于长作业,优先级随等待时间的延长而升高随等待时间的延长而升高,终能获得处理机。,终能获得处理机。因此,该算法是一种折衷算法。因此,该算法是一种折衷算法。缺点:频繁计算响应比,增加了系统开销缺点:频繁计算响应比,增加了系统开销。25PPT课件时间片轮转时间片轮转 特别适用于特别适
23、用于分时系统分时系统的调度算法。的调度算法。实现方法:实现方法:由计时器发出时钟中断,引起一次轮转调度。由计时器发出时钟中断,引起一次轮转调度。26PPT课件基本思想:基本思想:基于时钟的剥夺。基于时钟的剥夺。以一定的时间间隔周期性产生一个以一定的时间间隔周期性产生一个时时钟中断钟中断,当中断发生时,当前正在运行的,当中断发生时,当前正在运行的进程被置于就绪队列末尾,然后进程被置于就绪队列末尾,然后基于基于FCFS选择选择下一个就绪进程运行。下一个就绪进程运行。保证就绪队列中的所有进程在给定的保证就绪队列中的所有进程在给定的时间内都能获得时间内都能获得一时间片(一时间片(time slice)
24、的的处理机执行时间。处理机执行时间。27PPT课件执行过程执行过程1将系统中所有的就绪进程按照将系统中所有的就绪进程按照FCFS原则,原则,排成一个排成一个队列。队列。2每次调度时将每次调度时将CPU分派给分派给队首进程队首进程,让其,让其执行一个时间片执行一个时间片。时间片的。时间片的长度长度从几个从几个ms到几百到几百ms。3在一个时间片结束时,发生在一个时间片结束时,发生时钟中断。时钟中断。4调度程序据此调度程序据此暂停当前进程的执行,暂停当前进程的执行,将其将其送到送到就绪队列的末尾,就绪队列的末尾,并通过上下文切换并通过上下文切换执行当前的队首进程。执行当前的队首进程。5进程可以进程
25、可以未使用完一个时间片未使用完一个时间片,就,就出让出让CPU。28PPT课件ABCDFCPU完成完成超时超时阻塞阻塞时间片轮转调度算法示意图时间片轮转调度算法示意图29PPT课件 最佳时间片的确定最佳时间片的确定时间片的选取是实现各种调度算法的关键之处,而时间时间片的选取是实现各种调度算法的关键之处,而时间片的选定通常应考虑终端数目,处理机能力、各终端任务片的选定通常应考虑终端数目,处理机能力、各终端任务的急迫程度、外存传输速度等方面的因素。的急迫程度、外存传输速度等方面的因素。当时间片很大时当时间片很大时,大到一个进程足以完成其全部运行,大到一个进程足以完成其全部运行工作所需的时间,此时轮
展开阅读全文