计算机操作系统ppt课件(第四版)第三章.ppt





《计算机操作系统ppt课件(第四版)第三章.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统ppt课件(第四版)第三章.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 处理机调度与死锁处理机调度与死锁第一节第一节处理机调度的层次处理机调度的层次第二节第二节调度队列模型和调度准则调度队列模型和调度准则第三节第三节 调度算法调度算法第四节第四节 实时调度实时调度第五节第五节产生死锁的原因和必要条件产生死锁的原因和必要条件第六节第六节 预防死锁的方法预防死锁的方法第七节第七节 死锁的检测和解除死锁的检测和解除13.1处理机调度的层次处理机调度的层次高级调度高级调度低级调度低级调度中级调度中级调度23.1.1、高级调度、高级调度高级调度高级调度(作业调度(作业调度/长程调度)长程调度)l决定把外存上处于后备队列中的哪些作业调入内决定把外存上处于后备队列
2、中的哪些作业调入内存。存。l调度对象:作业调度对象:作业1、作业和作业步、作业和作业步l作业:程序+数据+作业说明书l作业步:作业运行期间的每个加工步骤例如:编译例如:编译连结装配连结装配运行运行32、作业控制块、作业控制块(JCB)lJCB:保存了系统对作业进行管理和调度所需的保存了系统对作业进行管理和调度所需的全部信息。作业在系统中存在的全部信息。作业在系统中存在的标志标志。lJCB包含的内容有:包含的内容有:作业标识、用户名称、用户作业标识、用户名称、用户账号、作业类型、作业状态、调度信息、资源需账号、作业类型、作业状态、调度信息、资源需求、时间信息、资源使用情况等。求、时间信息、资源使
3、用情况等。lJCB的创建和回收的创建和回收43、高级调度(作业、高级调度(作业/长程长程/接纳调度)接纳调度)l概念:概念:决定把外存上处于后备队列中的哪些作业决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源,调入内存,并为它们创建进程、分配必要的资源,准备执行。准备执行。l多用于批处理系统多用于批处理系统l每次调度时要考虑:每次调度时要考虑:l(1)接纳多少作业:取决于多道程序度接纳多少作业:取决于多道程序度l(2)接纳哪些作业:取决于调度算法接纳哪些作业:取决于调度算法l作业调度运行频率低,几分钟一次作业调度运行频率低,几分钟一次系统规模系统规模运行速度运行速
4、度5低级调度低级调度(进程(进程/短程调度)短程调度)l决定就绪队列中的哪个进程应获得处理机,然后再决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作由分派程序执行把处理机分配给该进程的具体操作是是最基本最基本的调度,在三种类型的的调度,在三种类型的OS中都必须配置中都必须配置3.1.2、低级调度、低级调度1、低级调度的功能、低级调度的功能l保存处理机的现场信息保存处理机的现场信息l按照某种算法选取进程按照某种算法选取进程l把处理机分配给进程把处理机分配给进程62、进程调度中的三个基本机制、进程调度中的三个基本机制l排队器排队器l分派器(分派程序)分派器(
5、分派程序)l上下文切换机制上下文切换机制3、进程调度方式、进程调度方式l非抢占方式非抢占方式l抢占方式抢占方式71)非抢占方式:)非抢占方式:l一旦进程获得处理机,则一直执行,直到该进程完一旦进程获得处理机,则一直执行,直到该进程完成或被阻塞成或被阻塞l此方式下,可能此方式下,可能引起进程调度的因素引起进程调度的因素:(1)正在执行的进程执行完毕,或因发生某事件不)正在执行的进程执行完毕,或因发生某事件不能再继续执行能再继续执行(2)执行中的进程因提出)执行中的进程因提出I/O请求而暂停执行请求而暂停执行(3)在进程通信或同步过程中执行了某原语,)在进程通信或同步过程中执行了某原语,P操操作等
6、作等l优点:优点:简单、系统开销小,适合大多数批处理系统简单、系统开销小,适合大多数批处理系统l缺点:缺点:无法满足紧急任务的需要,不适合实时系统无法满足紧急任务的需要,不适合实时系统82)抢占方式:)抢占方式:l允许调度程序根据某原则,暂停正在执行的进程,允许调度程序根据某原则,暂停正在执行的进程,将处理机重新分配将处理机重新分配抢占原则:抢占原则:l优先权原则优先权原则 就绪的高优先权进程有权抢占低优先权进程的就绪的高优先权进程有权抢占低优先权进程的CPUl短作业优先原则短作业优先原则 就绪的短作业就绪的短作业(进程进程)有权抢占长作业有权抢占长作业(进程进程)的的CPUl时间片原则时间片
7、原则 一个时间片用完后,系统重新进行进程调度一个时间片用完后,系统重新进行进程调度9中级调度(中程调度)中级调度(中程调度)l目的:目的:提高内存利用率和系统吞吐量提高内存利用率和系统吞吐量l按一定的算法将外存上已具备运行条件的挂起进程按一定的算法将外存上已具备运行条件的挂起进程换入内存,挂到就绪队列上,准备执行;而将内存换入内存,挂到就绪队列上,准备执行;而将内存中处于阻塞状态的某些进程换出至外存。中处于阻塞状态的某些进程换出至外存。3.1.3、中级调度、中级调度10调度队列模型调度队列模型选择调度方式和调度算法的若干准则选择调度方式和调度算法的若干准则3.2、调度队列模型、调度队列模型11
8、3.2.1、调度队列模型、调度队列模型仅具有进程调度的调度队列模型仅具有进程调度的调度队列模型就就 绪绪 队队 列列阻阻 塞塞 队队 列列CPU时间片完时间片完交互用户交互用户进程调度进程调度进程完成进程完成等待事件等待事件事事件件发发生生具有高、低两级调度的调度队列模型具有高、低两级调度的调度队列模型就就绪绪 队队 列列阻阻 塞塞 队队 列列CPU时间片完时间片完作业作业调度调度进程调度进程调度进程完成进程完成等待事件等待事件1阻阻 塞塞 队队 列列阻阻 塞塞 队队 列列等待事件等待事件2等待事件等待事件n事件事件1发生发生事件事件2发生发生事件事件n发生发生后后 备备队队 列列具有高、低、
9、中三级调度的调度队列模型具有高、低、中三级调度的调度队列模型就就 绪绪 队队 列列绪绪就就、挂挂 起起 队队 列列CPU时间片完时间片完作业作业调度调度进程调度进程调度进程完成进程完成事件出现事件出现阻阻 塞塞 队队 列列挂起挂起等待事件等待事件中级中级调度调度事件发生事件发生后后 备备 队队 列列塞塞阻阻、挂挂 起起 队队 列列挂起挂起123.2.2、选择调度方式和算法的选择准则、选择调度方式和算法的选择准则1、面向用户的准则、面向用户的准则l(1)周转时间短)周转时间短评价批处理系统评价批处理系统 周转时间:周转时间:是指从作业被提交系统开始,到作业是指从作业被提交系统开始,到作业完成为止
10、的这段时间间隔。完成为止的这段时间间隔。包括四部分时间:包括四部分时间:1)等待作业调度时间)等待作业调度时间2)等待进程调度时间)等待进程调度时间3)执行时间)执行时间4)进程等待)进程等待I/O操作完成时间操作完成时间13平均周转时间:平均周转时间:带权周转时间:带权周转时间:周转时间周转时间服务时间服务时间平均带权周转时间:平均带权周转时间:14(2)响应时间快)响应时间快评价分时系统评价分时系统响应时间:响应时间:从用户通过键盘提交一个请求开始直从用户通过键盘提交一个请求开始直至系统首次产生响应为止。至系统首次产生响应为止。包括三部分时间:包括三部分时间:1)从键盘输入的请求信息传送到
11、处理机的时间)从键盘输入的请求信息传送到处理机的时间2)处理时间)处理时间3)响应信息回送终端的时间)响应信息回送终端的时间15(3)截止时间保证)截止时间保证评价实时系统评价实时系统截止时间:截止时间:任务必须开始执行的最迟时间,任务必须开始执行的最迟时间,或必须完成的最迟时间。或必须完成的最迟时间。(4)优先权准则)优先权准则三种系统中皆适用三种系统中皆适用162、面向系统的准则、面向系统的准则l系统吞吐量高系统吞吐量高评价批处理系统评价批处理系统l处理机利用率好处理机利用率好针对大中型系统针对大中型系统l各类资源的平衡利用各类资源的平衡利用对大中型系统对大中型系统173.3调度算法调度算
12、法先来先服务和短作业(进程)优先调度先来先服务和短作业(进程)优先调度算法算法高优先权先调度算法高优先权先调度算法基于时间片的轮转调度算法基于时间片的轮转调度算法183.2.1、先来先服务和短作业(进程)优先先来先服务和短作业(进程)优先调度算法调度算法1、先来先服务(、先来先服务(FCFS)调度算法)调度算法可用于作业调度和进程调度可用于作业调度和进程调度用于作业调度:用于作业调度:l每次从后备作业队列中选择最先进入的作业,将每次从后备作业队列中选择最先进入的作业,将它们调入内存,为它们分配资源、创建进程,然它们调入内存,为它们分配资源、创建进程,然后挂到就绪进程队列上。后挂到就绪进程队列上
13、。19用于进程调度:用于进程调度:l每次从就绪进程队列中选择最先进入的进程,为每次从就绪进程队列中选择最先进入的进程,为之分配处理机,使之投入运行。之分配处理机,使之投入运行。l直到运行完成进程才会让出处理机直到运行完成进程才会让出处理机-非抢占式。非抢占式。l有利于长作业,而不利于短作业。有利于长作业,而不利于短作业。20进程进程名名到达到达时间时间服务服务时间时间开始执开始执行时间行时间完成完成时间时间周转周转时间时间带权周带权周转时间转时间A010111B110011011001C21101102100100D31001022021991.99性能评价:性能评价:l周转时间周转时间 =完
14、成时间完成时间 到达时间到达时间l带权周转时间带权周转时间 =周转时间周转时间/服务(运行)时间服务(运行)时间212、短作业、短作业/进程优先(进程优先(SJF/SPF)短作业优先(短作业优先(SJF)l从后备队列中选择估计运行时间最短的作业,调从后备队列中选择估计运行时间最短的作业,调入内存运行。入内存运行。短进程优先(短进程优先(SPF)l从就绪队列中选出估计运行时间最短的进程,将从就绪队列中选出估计运行时间最短的进程,将处理机分配给它,使它立即执行。处理机分配给它,使它立即执行。l直到运行完成进程才会让出处理机直到运行完成进程才会让出处理机-非抢占式。非抢占式。缺点:缺点:l对长作业不
15、利,有可能长期不被调度;对长作业不利,有可能长期不被调度;l完全没考虑作业的紧迫程度(某些特殊的);完全没考虑作业的紧迫程度(某些特殊的);l用户做出的估计时间带有很大的主观性。用户做出的估计时间带有很大的主观性。222.259133.5141844E3.116182101252C2.678926731B1.5365.5111423D2.11带权周转时间带权周转时间84周转时间周转时间4完成时间完成时间FJS2.81带权周转时间带权周转时间94周转时间周转时间4完成时间完成时间FCFS4服务时间服务时间0到达时间到达时间平均平均A进程名进程名 作作调调业业度度情情算算况况法法l周转时间周转时间
16、 =完成时间完成时间 到达时间到达时间l带权周转时间带权周转时间 =周转时间周转时间/服务时间服务时间233.3.2、高优先权先调度算法、高优先权先调度算法既能用于作业调度,也可用于进程调度。既能用于作业调度,也可用于进程调度。作业调度:从后备队列中选择若干个优先权最高的作业调度:从后备队列中选择若干个优先权最高的作业装入内存。作业装入内存。进程调度:把处理机分配给就绪队列中优先权最高进程调度:把处理机分配给就绪队列中优先权最高的进程的进程两种占用两种占用CPU的方式:非抢占式优先权算法的方式:非抢占式优先权算法抢占式优先权算法抢占式优先权算法1、优先权调度算法的类型、优先权调度算法的类型24
17、非抢占式优先权算法非抢占式优先权算法l系统一旦把处理机分配给就绪队列中优先权最高系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程就一直执行下去,直至完成;的进程后,该进程就一直执行下去,直至完成;或因发生某事件使该进程放弃处理机时,系统方或因发生某事件使该进程放弃处理机时,系统方可再将处理机重新分配给另一优先权最高的进程。可再将处理机重新分配给另一优先权最高的进程。l主要用于批处理系统主要用于批处理系统25抢占式优先权算法抢占式优先权算法l新的就绪进程新的就绪进程i,优先权,优先权Pi。正在执行的进程。正在执行的进程j,优,优先权先权Pj。若。若PiPj,做进程切换。新进程做进程切换
18、。新进程i执行。执行。l优点:优点:能更好的满足紧迫作业的要求。主要用于能更好的满足紧迫作业的要求。主要用于比较严格的实时系统。比较严格的实时系统。262、优先权的类型、优先权的类型 1)静态优先权)静态优先权 在进程创建时确定的,在进程整个运行期间保持不变在进程创建时确定的,在进程整个运行期间保持不变优先权优先权利用某一范围的利用某一范围的整数整数来表示,该整数称为优来表示,该整数称为优先数。如:先数。如:07,0255确定优先权的依据:确定优先权的依据:(1)进程类型)进程类型(2)进程对资源的需求)进程对资源的需求(3)用户要求)用户要求27注:规定优先数越小,其优先权越高注:规定优先数
19、越小,其优先权越高4/348334C15/81517482B119118D带权周转时间带权周转时间周转时间周转时间155完成时间完成时间2优先权优先权非抢占式优非抢占式优先权算法先权算法5服务时间服务时间0到达时间到达时间A进程名进程名 作作调调业业度度情情算算况况法法平均平均6.251.3例:非抢占式优先权算法例:非抢占式优先权算法28t(等待等待)优先权优先权t(运行运行)优先权优先权l2)动态优先权动态优先权在进程创建时创立的优先权,可随进程的推进或等待在进程创建时创立的优先权,可随进程的推进或等待时间的增加而改变。如等待时间长,优先权升高。时间的增加而改变。如等待时间长,优先权升高。2
20、9等待时间等待时间+要求服务时间要求服务时间优先权优先权=-要求服务时间要求服务时间等待时间等待时间+要求服务时间要求服务时间响应时间响应时间响应比响应比(Rp)=-=-要求服务时间要求服务时间要求服务时间要求服务时间3、高响应比优先调度算法、高响应比优先调度算法(HRRN)l为每个进程引入动态优先权,随着等待时间增为每个进程引入动态优先权,随着等待时间增加优先权提高。加优先权提高。优点:优点:等待时间相同,短作业优先权高等待时间相同,短作业优先权高(即即SPF)要求服务时间相同,等待时间长,优先权高要求服务时间相同,等待时间长,优先权高(即即FCFS)对于长作业,在等待足够时间后,可获得处理
21、机对于长作业,在等待足够时间后,可获得处理机303.571528E2.2591344C1.177962B2.8142056D2.141带权周转时间带权周转时间83周转时间周转时间3完成时间完成时间3服务时间服务时间0到达时间到达时间平均平均A进程名进程名 作作调调业业度度情情算算况况法法RC1+(9-4)/4=2.25RD1+(9-6)/5=1.6RE1+(9-8)/2=1.5RD1+(13-6)/5=2.4RE1+(13-8)/2=3.5执行顺序:执行顺序:ABCEDHRRN(R大,大,优先权高优先权高)313.3.3、基于时间片的轮转调度算法、基于时间片的轮转调度算法1、时间片轮转法、时间
22、片轮转法1)基本原理)基本原理系统将所有的就绪进程按系统将所有的就绪进程按FIFO原则排成一个队列,原则排成一个队列,将将CPU分配给分配给队首队首进程,执行进程,执行一个时间片一个时间片。在时。在时间片内进程未完,则插入间片内进程未完,则插入就绪队列未尾就绪队列未尾,CPU交交给下一个进程。给下一个进程。2)时间片大小的确定)时间片大小的确定时间片略大于一次典型的交互所需要的时间。时间片略大于一次典型的交互所需要的时间。323.3313173.33131744E2.259113.5141642C2673.67111231B5101336923D带权周转时间带权周转时间2.58.4周转时间周转
23、时间144完成时间完成时间RRq=4带权周转时间带权周转时间3.4611.8周转时间周转时间3.751515完成时间完成时间RRq=14服务时间服务时间0到达时间到达时间平均平均A进程名进程名 作作调调业业度度情情算算况况法法l周转时间周转时间 =完成时间完成时间 到达时间到达时间l带权周转时间带权周转时间 =周转时间周转时间/服务时间服务时间332、多级反馈队列调度算法、多级反馈队列调度算法 原理:原理:l设置多个就绪队列设置多个就绪队列,并为各个队列赋予不同的优,并为各个队列赋予不同的优先级和不同长度的时间片;先级和不同长度的时间片;l新创建的进程新创建的进程挂到第一优先级的队列后,然后按
24、挂到第一优先级的队列后,然后按 FCFS 原则排队等待调度。当轮到其执行时,如原则排队等待调度。当轮到其执行时,如它能在时间片内完成,便撤离系统;如果不能完它能在时间片内完成,便撤离系统;如果不能完成,便被挂入第二级队列后,成,便被挂入第二级队列后,最后一级最后一级队队列采用列采用时间片轮转法时间片轮转法;l仅当第一级队列空闲时仅当第一级队列空闲时,调度程序才调度第二级,调度程序才调度第二级队列中的进程运行,依次类推队列中的进程运行,依次类推;新进程可抢;新进程可抢占低级进程的处理机。占低级进程的处理机。34多级反馈队列调度算法示意图多级反馈队列调度算法示意图CPU时间时间片完片完进程进程调度
25、调度进程完成进程完成就就 绪绪 队队 列列一一就就 绪绪 队队 列列二二就就 绪绪 队队 列列三三就就 绪绪 队队 列列 n时间时间片完片完时间时间片完片完35就就级级1绪绪 队队 列列空空就就级级2绪绪 队队 列列就就级级3绪绪 队队 列列运行运行等待等待12354时时间间片片小小大大优优先先级级高高低低36多级反馈队列调度算法的性能多级反馈队列调度算法的性能 多级反馈队列调度算法能较好地满足各种类型用多级反馈队列调度算法能较好地满足各种类型用户(进程)的需要:户(进程)的需要:l终端(交互)型作业用户终端(交互)型作业用户l短批处理作业用户短批处理作业用户l长批处理作业用户长批处理作业用户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 ppt 课件 第四 第三

限制150内