操作系统原理第六章处理机调度.ppt

上传人:牧羊曲112 文档编号:6164563 上传时间:2023-10-01 格式:PPT 页数:33 大小:220KB
返回 下载 相关 举报
操作系统原理第六章处理机调度.ppt_第1页
第1页 / 共33页
操作系统原理第六章处理机调度.ppt_第2页
第2页 / 共33页
操作系统原理第六章处理机调度.ppt_第3页
第3页 / 共33页
操作系统原理第六章处理机调度.ppt_第4页
第4页 / 共33页
操作系统原理第六章处理机调度.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《操作系统原理第六章处理机调度.ppt》由会员分享,可在线阅读,更多相关《操作系统原理第六章处理机调度.ppt(33页珍藏版)》请在三一办公上搜索。

1、第六章 处理机调度,6.1 处理机的多级调度6.2 作业调度6.3 进程调度6.4 UNIX系统的进程调度,6.1 处理机的多级调度,1.批处理OS中的处理机调度对处理机的分配分两级:作业调度(宏观调度):分配资源、建立进程进程调度(微观调度):分配处理机、时间片2.多任务操作系统中的处理机调度 分时或个人计算机 OS中的处理机调度支持多任务并发。对处理机的分配:进程调度(并分配处理机时间)调度对象:就绪进程3.多线程OS中的处理机调度对处理机的分配:线程调度调度对象:就绪线程,3,6.2 作业调度,一.作业的状态 作业在整个活动期间一共有四种状态,提交状态:用户将自己的程序和数据提交给系统,

2、等待输入。后备状态:作业已存放在磁盘上,等待调度。,执行状态:作业进入主存开始运行。完成状态:作业计算完成开始,退出系统。,4,二.作业调度的功能 1.确定数据结构建立作业控制块jcb(job control block)。作业控制块记录了每个作业类型、状态、资源请求及分配情况。2.确定调度策略与调度算法按一定的调度策略从磁盘中存放的大量作业中挑选一个或几个作业投入运行。3.分配资源为选中的作业分配所需要的系统资源(主存、外设等)。4.善后处理收回该作业所占用的全部资源,撤消作业控制块以及与该作业有关的全部进程。,6.2 作业调度,5,三.作业控制块每个作业进入系统时,有系统为其建立jcb。作

3、业控制块jcb存在于系统的整个过程中,jcb是一个作业存在的标志。jcb的主要内容如下:作 业 名 资 源 要 求 资 源 使 用 情况 估计执行时间 进入系统时间 最迟完成时间 开始执行时间 要求的主存量 已执行时间 要求外设的类型及台数 主存地址 要求文件量和输出量 外设台号 类 型 优 先 级 控制方式 作业 状态 作业类型,6.2 作业调度,6,四.作业调度算法性能的衡量采用平均周转时间和平均带权周转时间来衡量作业调度算法性能的好坏。1.周转时间一个作业提交给计算机系统到该作业的结果返回给用户所需要的时间。(1)定义 ti=tci-tsi ti作业i的周转时间 tsi作业i的提交时间(

4、磁盘后备队列)tci作业i的完成时间。(2)意义 说明作业I在系统中停留时间的长短。(3)平均周转时间 t=(n为作业个数),6.2 作业调度,6.2 作业调度,2.平均带权周转时间w(1)定义 一个作业的周转时间与其运行时间的比值。wi=tri为作业i的实际执行时间,ti进入磁盘后备队列的时间(2)意义 说明作业i在系统中相对等待时间。(3)平均周转时间 t=,6.2 作业调度,五.作业调度算法1.先来先服务调度算法(1)策略:按作业来到的先后次序进行调度。(2)特点:简单,易实现。(3)讨论在先来先服调度算法下周转时间与带权周转时间,这种算法对短作业不利,执行时间短,等待时间较长,带权周转

5、时间很高。,6.2 作业调度,2.短作业优先调度算法(1)策略:按作业请求运行的时间长短进行调度。(2)特点:易实现,系统吞吐量高。只照顾短作业,而没有考虑长作业的利益。(3)讨论在短作业优先调度算法下的周转时间与带权周转时间,易于实现,效率较高;主要弱点不考虑长作业的利益。,6.2 作业调度,3.响应比高者优先调度算法计算后备作业表中的每个作业的响应比,挑选响应比最高者运行。响应比响应时间/执行时间响应比1作业等待时间/执行时间,是先来先服务和短作业优先算法之间的折中算法。,6.2 作业调度,4.优先调度算法据系统设计目标分析各作业的优先数,调度时选取优先数高的作业先执行。优先数的计算保证使

6、输出量最少、要求执行时间短的作业以及等了很久的作业得到优待。优先数(等待时间)2要求执行时间16输出量等待时间:作业在磁盘中等候时间(分)要求执行时间:据Jcb中记录的相应值推算出(秒)输出量:据Jcb中记录的相应值推算出(行)它企图十分迅速的执行各种短作业,但偶尔也要执行一个在磁盘中等候很久的作业,此时“等待时间”这一项的值已远远超过其他两项之和。,12,6.3 进程调度,一.调度/分派结构任何进程都必须通过调度/分派模块来使用处理机。进程调度的功能可细分为调度和分派两部分。1.调度依照完全确定的策略将一批进程进行排序,形成就绪队列。调度程序的功能:负责将一个进程插入到就绪队列并按一定原则保

7、持队列结构;2.分派当处理机空闲时,是移出就绪队列中第一个进程,并赋予它使用处理机的权利。分派程序的功能:是将进程从就绪队列中移出并建立该进程执行的及其状态。,13,3.调度分派结构图,6.3 进程调度,14,二.进程调度的功能和调度准则进程调度的功能1.记录进程的有关情况和状态特征(pcb)2.决定分配策略由就绪队列的排序原则体现的。优先调度原则进程就绪队列按进程优先级高低排序先来先服务原则进程就绪队列按进程来到的先后次序排序3.实施处理机的分配和回收CPU现场信息的切换,6.3 进程调度,6.3 进程调度,进程调度的时机进程完成其任务时;在一次管理程序调用之后,该调用使现行程序暂时不能继续

8、运行时;在一次出错陷入之后,该陷入使现行进程在出错处理时被挂起时;在分时系统中,完成的规定时间片时;在采用可剥夺调度方式的系统中,高掠夺低进程时。,6.3 进程调度,进程调度的准则cpu使用率:尽可能忙吞吐量:指一个时间单元内所完成的进程数量。周转时间:是所有时间段之和,包括等待进入主存、在就绪队列中等待、在cpu上执行和I/O执行时间。响应时间:指联机用户向计算机发出一个命令到计算机执行完该命令,并将相应的执行结果返回给用户所需的时间。等待时间:是进程在就绪队列中等待所花费时间之和。,17,三.进程调度方式1.什么是调度方式当一进程正在处理机上执行时,若有某个更为“重要而紧迫”的进程需要进行

9、运行,系统如何分配处理机。2.非剥夺方式一种是让正在执行的进程继续执行,直到该进程完成或发生某事件而进入“完成”或“阻塞”状态时,才把处理机分配给“重要而紧迫”的进程。3.剥夺方式当“重要而紧迫”的进程一到,便暂停正在执行的进程,立即把处理机分配给优先级更高的进程。4.选择可抢占策略:该策略是两种极端的抢占和不可抢占策略之间的折衷方案。进程被指派一个优先数,并有一对标志(U、V),6.3 进程调度,18,四.进程调度算法1.进程优先数调度算法(1)什么是进程优先数调度算法预先确定各进程的优先数,系统把处理机的使用权赋予就绪队列中具备最高优先权(优先数和一定的优先级相对应)的就绪进程。(2)优先

10、数的分类及确定静态优先数在进程被创建时确定,且一经确定后在整个进程运行期间不再改变。静态优先数的确定优先数根据进程所需使用的资源来计算优先数基于程序运行时间的估计优先数基于进程的类型,6.3 进程调度,19,动态优先数进程优先数在进程运行期间可以改变。动态优先数的确定:进程使用CPU超过一定数值时,降低优先数;进程进行I/O操作后,增加优先数进程等待时间超过一定数值时,提高优先数,6.3 进程调度,20,2.循环轮转调度算法先进先出可能存在的问题是,当一个进程在放弃对处理机的控制权之前可能执行很长时间,而其他进程的推进受到严重的影响。那么就可使用一个时间片,这一时间片方法称为循环轮转规则。(1

11、)简单循环轮转调度定义:当CPU空闲时,选取就绪队列首元素,赋予一个时间片,当时间片用完时,释放cpu控制权,该进程转为就绪态并进入就绪队列末端特点:就绪队列中的所有进程以等速度向前进展 时间片q=t/nt 为响应时间,n为进入系统的进程数目。时间片选择:时间片应该比进程切换时间要长,常为100ms,6.3 进程调度,6.3 进程调度,(2)可变时间片轮转调度每当一轮开始,系统根据就绪队列中已有的进程数目计算一次q值,然后进行轮转。在此期间所到达的进程都暂不进入就绪队列,要等此次轮转完毕后再一并进入。在采用可变时间片算法中每当一轮开始时,系统便根据就绪队列中已有的进程数计算q值,然后进行轮转。

12、在此期间所到达的进程都占不进入就绪队列,而要等到此次轮转完后再一起进入。此时,系统根据就绪队列中的进程数重新计算q值,然后开始下一轮循环。,22,五.调度用的进程调度变迁图 可采用进程状态变迁图阐述进程调度算法。如有进程调度算法:(1)当CPU空闲时,首先从高优先级就绪队列中选择一个进程运行,给定时间片为100ms。(2)如高优先级就绪队列为空,则从低优先级就绪队列中选择一个进程运行,给定时间片500ms。进入低优先就绪队列的进程一般是计算量比较大的的,称为受cpu限制的进程;而阻塞变为高优先就绪进程一般是输入/输出量比较大的进程,称受I/O限制的进程。,6.3 进程调度,6.3 进程调度,这

13、种调度策略优先照顾I/O量大的进程。适当照顾了计算量大的进程。,6.3 进程调度,较为复杂的进程状态变迁图,6.4 UNIX系统的进程调度,处理机的分配主要包括三方面工作:首先,将现行进程的CPU现场保护到该进程的pcb结构中;其次,依调度原则在就绪队列中选择一个进程;最后,恢复选中进程的运行现场。UNIX系统中,完成这三项工作的程序称为进程切换调度。,6.4 UNIX系统的进程调度,一、UNIX系统的进程调度算法UNIX系统的进程调度算法是优先数算法。一个进程优先权的高低取决于其优先数,优先数越小,优先权越高。在进程调度时机来到时,总是选取优先权最高的进程去运行。UNIX系统确定进程优先数的

14、方法有设置和计算两种。设置方式用于高、低优先级睡眠状态进程。优先数的计算是当进程处在用户态时,每秒由时钟处理程序计算和设置,或者在发生俘获后,返回到用户态之前由俘获处理程序计算和设置。,6.4 UNIX系统的进程调度,(1)优先数的设置 当进程需睡眠时,设置其优先数。由不同的睡眠原因决定其大小。等待紧迫的事件,该进程的优先数设置为负值等待慢速设备I/O、进程间同步,该进程的优先数设置为正值。(2)优先数的计算1)当进程从核心态返回用户态时,或自陷返回时,系统计算该进程的优先数。p_pri=min127,p_cpu/16-p_nice+PUSERp_cpu(反映使用cpu的程度)和p_nice(

15、是程序可以设置的进程优先数偏置值)都是proc的分量,PUSER是固定的偏置常数,定位100,6.4 UNIX系统的进程调度,(2)在时钟中断处理程序中每隔20ms,将正在运行的进程的p_cpu 加 1,直到255。这使当前进程p_cpu增大,pri也增大,于是优先级降低。每隔1s,时钟中断处理程序对所有的就绪进程计算 p_cpu 减10,直到小于10时置为0。这使所有未占用cpu的进程p_cpu增大,pri也增大,于是优先级提高。所以,占用cpu时间越长的进程,下次被调用的可能性越小,而未占用cpu的进程等待时间越长,下次被调用的可能性就越大。,6.4 UNIX系统的进程调度,p_cpu这样

16、的改变方式使进程使用cpu的时间与它被调用的机会称为负反馈过程。p_cpu p_pri 进程优先权 被调度的机会 被调度的机会 进程优先权 p_pri p_cpu这样的负反馈过程使系统中在用户态下运行的各个进程都能比较均衡的享用处理机。,6.4 UNIX系统的进程调度,二、进程优切换调度程序swtch算法 swtch 输入:无 输出:无 保留现行进程的现场到其系统栈中;for(就绪队列中的每一个进程)取在主存、就绪态、优先权最高的进程;if(没有找到满足条件的进程)机器空闲等待;/*下次中断使机器脱离空闲等待状态*/将选取的进程从就绪队列中移出;切换到被选中进程的映像,恢复其运行;,6.4 U

17、NIX系统的进程调度,swtch程序的主要任务如下:1)将调用swtch的当前进程的现场信息保留在其系统栈中。2)将扫描proc表,找出满足如下条件的进程去运行。在主存(p_flag的SLOAD=1);就绪状态(p_stat=SRUN);优先数(p_pri)最小。3)找到了所要求的进程后,把该进程的p_addr装入存储管理地址映射的寄存器中,并设置好相应的地址映射机构,再恢复该进程的现场。,一.处理机的两级调度 二.作业调度 1.作业的四种状态 2.作业控制块 3.周转时间、带权周转时间:定义 物理意义 4.常用的作业调度算法 先来先服务 短作业优先 对一批作业,若采用两中不同的调度算法,能分析、计算调度性能的好坏。,第六章 小结,三.进程调度 1.调度方式 非剥夺方式 剥夺方式 2.常用的进程调度算法 优先数调度 循环轮转调度 3.调度用的进程状态变迁图通过调度用的进程状态变迁图,能分析系统采用的调度策略,调度性能的好坏。能分析因果变迁及条件。,第六章 小结,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号