




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章第六章 处理机调度处理机调度o6.1 处理机的多级调度处理机的多级调度o6.2 作业调度作业调度o6.3 进程调度进程调度o6.4 unix系统的进程调度系统的进程调度6.1 处理机的多级调度处理机的多级调度o 1. 批处理os中的处理机调度n对处理机的分配分两级:o 作业调度(宏观调度):分配资源、建立进程o 进程调度(微观调度):分配处理机、时间片o 2.多任务操作系统中的处理机调度 n分时或个人计算机 os中的处理机调度支持多任务并发。o 对处理机的分配:进程调度(并分配处理机时间)o 调度对象:就绪进程o 3. 多线程os中的处理机调度n对处理机的分配:线程调度n调度对象:就绪线
2、程36.2 作业调度作业调度o 一一. 作业的状态作业的状态 作业在整个活动期间一共有四种状态, n 提交状态:用户将自己的程序和数据提交给系统,等待输入。n 后备状态:作业已存放在磁盘上,等待调度。运行就绪完成等待后备提交作业调度作业调度作业录入执行n 执行状态:作业进入主存开始运行。 n 完成状态:作业计算完成开始,退出系统。 4o 二二. 作业调度的功能作业调度的功能 n 1. 确定数据结构确定数据结构o 建立作业控制块jcb (job control block)。n作业控制块记录了每个作业类型、状态、资源请求及分配情况。 n 2. 确定调度策略与调度算法确定调度策略与调度算法o 按一
3、定的调度策略从磁盘中存放的大量作业中挑选一个或几个作业投入运行。n 3. 分配资源分配资源o 为选中的作业分配所需要的系统资源(主存、外设等)。 n 4. 善后处理善后处理o 收回该作业所占用的全部资源,撤消作业控制块以及与该作业有关的全部进程。6.2 作业调度作业调度5o 三三. .作业控制块作业控制块n每个作业进入系统时,有系统为其建立jcb。作业控制块jcb存在于系统的整个过程中,jcb是一个作业存在的标志。njcb的主要内容如下: 作作 业业 名名 资资 源源 要要 求求 资资 源源 使使 用用 情况情况 估计执行时间 进入系统时间 最迟完成时间 开始执行时间 要求的主存量 已执行时间
4、 要求外设的类型及台数 主存地址 要求文件量和输出量 外设台号 类类 型型 优优 先先 级级 控制方式 作业作业 状态状态 作业类型6.2 作业调度作业调度6o 四四. 作业调度算法性能的衡量作业调度算法性能的衡量n 采用平均周转时间和平均带权周转时间来衡量作业调度算法性能的好坏。n 1. 周转时间周转时间o 一个作业提交给计算机系统到该作业的结果返回给用户所需要的时间。o (1) 定义定义 ti = tci - tsi ti作业i的周转时间 tsi作业i的提交时间(磁盘后备队列) tci作业i的完成时间。o (2) 意义意义 说明作业i在系统中停留时间的长短。o (3)平均周转时间平均周转时
5、间 t = (n为作业个数)niti1n16.2 作业调度作业调度6.2 作业调度作业调度o 2. 平均带权周转时间平均带权周转时间wn (1) 定义定义 o 一个作业的周转时间与其运行时间的比值。 wi = n tri为作业i的实际执行时间,ti进入磁盘后备队列的时间n (2) 意义意义 o 说明作业i在系统中相对等待时间。n (3) 平均周转时间平均周转时间 t = tritiniwi1n16.2 作业调度作业调度o 五五. 作业调度算法作业调度算法n 1.先来先服务调度算法o (1)策略:按作业来到的先后次序进行调度。o (2)特点:简单,易实现。 o (3)讨论在先来先服调度算法下周转
6、时间与带权周转时间 作业提交时间执行时间开始时间完成时间周转时间带权周转时间18.002.008.0010.002.00128.500.5010.0010.502.00439.000.1010.5010.601.601649.500.2010.6010.801.306.5平均周转时间 t=1.725平均带权周转时间 w=6.875这种算法对短作业不利,执行时间短,等待时间较长,带权周转时间很高。6.2 作业调度作业调度o 2. 短作业优先调度算法短作业优先调度算法n(1)策略:按作业请求运行的时间长短进行调度。n(2)特点:易实现,系统吞吐量高。 只照顾短作业,而没有考虑长作业的利益。n(3)
7、讨论在短作业优先调度算法下的周转时间与带权周转时间 作业 提交时间 执行时间 开始时间完成时间周转时间 带权周转时间18.002.008.0010.002.00128.500.5010.3010.802.304.639.000.1010.0010.101.101149.500.2010.1010.300.804平均周转时间 t=1.55平均带权周转时间 w=5.15易于实现,效率较高;主要弱点不考虑长作业的利益。6.2 作业调度作业调度o 3.响应比高者优先调度算法响应比高者优先调度算法n 计算后备作业表中的每个作业的响应比,挑选响应比最高者运行。o 响应比响应时间/执行时间o 响应比1作业等
8、待时间/执行时间作业提交时间执行时间开始时间完成时间周转时间带权周转时间18.002.008.0010.002.00128.500.5010.3010.602.104.239.000.1010.0010.101.101149.500.2010.6010.801.306.5平均周转时间 t=1.625平均带权周转时间 w=5.675是先来先服务和短作业优先算法之间的折中算法。6.2 作业调度作业调度o 4.优先调度算法优先调度算法n据系统设计目标分析各作业的优先数,调度时选取优先数高的作业先执行。n优先数的计算保证使输出量最少、要求执行时间短的作业以及等了很久的作业得到优待。n优先数(等待时间)
9、2要求执行时间16输出量o 等待时间:作业在磁盘中等候时间(分)o 要求执行时间:据jcb中记录的相应值推算出(秒)o 输出量:据jcb中记录的相应值推算出(行)n它企图十分迅速的执行各种短作业,但偶尔也要执行一个在磁盘中等候很久的作业,此时“等待时间”这一项的值已远远超过其他两项之和。126.3 进程调度进程调度o 一一. 调度调度/分派结构分派结构n 任何进程都必须通过调度/分派模块来使用处理机。进程调度的功能可细分为调度和分派两部分。n 1. 调度调度o 依照完全确定的策略将一批进程进行排序,形成就绪队列。o 调度程序的功能:负责将一个进程插入到就绪队列并按一定原则保持队列结构;n 2.
10、 分派分派o 当处理机空闲时,是移出就绪队列中第一个进程,并赋予它使用处理机的权利。o 分派程序的功能:是将进程从就绪队列中移出并建立该进程执行的及其状态。13o 3. 调度调度分派结构图分派结构图 6.3 进程调度进程调度调度程序等待唤醒接受pcb1pcb2pcb3pcb4pcb5ready_q分派程序cpu14o 二二. 进程调度的功能和调度准则进程调度的功能和调度准则n 进程调度的功能o 1. 记录进程的有关情况和状态特征( pcb )o 2. 决定分配策略n 由就绪队列的排序原则体现的。n 优先调度原则进程就绪队列按进程优先级高低排序n 先来先服务原则进程就绪队列按进程来到的先后次序排
11、序o 3. 实施处理机的分配和回收n cpu现场信息的切换6.3 进程调度进程调度6.3 进程调度进程调度n 进程调度的时机o 进程完成其任务时;o 在一次管理程序调用之后,该调用使现行程序暂时不能继续运行时;o 在一次出错陷入之后,该陷入使现行进程在出错处理时被挂起时;o 在分时系统中,完成的规定时间片时;o 在采用可剥夺调度方式的系统中,高掠夺低进程时。6.3 进程调度进程调度n 进程调度的准则o cpu使用率:尽可能忙o 吞吐量:指一个时间单元内所完成的进程数量。o 周转时间:是所有时间段之和,包括等待进入主存、在就绪队列中等待、在cpu上执行和i/o执行时间。o 响应时间:指联机用户向
12、计算机发出一个命令到计算机执行完该命令,并将相应的执行结果返回给用户所需的时间。o 等待时间:是进程在就绪队列中等待所花费时间之和。17o 三三. 进程调度方式进程调度方式n1. 什么是调度方式什么是调度方式o 当一进程正在处理机上执行时,若有某个更为“重要而紧迫”的进程需要进行运行,系统如何分配处理机。n2. 非剥夺方式非剥夺方式o 一种是让正在执行的进程继续执行,直到该进程完成或发生某事件而进入“完成”或“阻塞”状态时,才把处理机分配给“重要而紧迫”的进程。n3. 剥夺方式剥夺方式o 当“重要而紧迫”的进程一到,便暂停正在执行的进程,立即把处理机分配给优先级更高的进程。n4. 选择可抢占策
13、略:选择可抢占策略:o 该策略是两种极端的抢占和不可抢占策略之间的折衷方案。 o 进程被指派一个优先数,并有一对标志(u、v)6.3 进程调度进程调度18o 四四. 进程调度算法进程调度算法n 1. 进程优先数调度算法进程优先数调度算法o (1) 什么是进程优先数调度算法n 预先确定各进程的优先数,系统把处理机的使用权赋予就绪队列中具备最高优先权(优先数和一定的优先级相对应)的就绪进程。o (2) 优先数的分类及确定n 静态优先数在进程被创建时确定,且一经确定后在整个进程运行期间不再改变。n 静态优先数的确定优先数根据进程所需使用的资源来计算优先数基于程序运行时间的估计优先数基于进程的类型 6
14、.3 进程调度进程调度19n 动态优先数进程优先数在进程运行期间可以改变。n 动态优先数的确定:o 进程使用cpu超过一定数值时,降低优先数;o 进程进行i/o操作后,增加优先数o 进程等待时间超过一定数值时,提高优先数6.3 进程调度进程调度20o 2. 循环轮转调度算法循环轮转调度算法n先进先出可能存在的问题是,当一个进程在放弃对处理机的控制权之前可能执行很长时间,而其他进程的推进受到严重的影响。那么就可使用一个时间片,这一时间片方法称为循环轮转规则。 n(1) 简单循环轮转调度简单循环轮转调度o 定义:当cpu空闲时,选取就绪队列首元素,赋予一个时间片,当时间片用完时,释放cpu控制权,
15、该进程转为就绪态并进入就绪队列末端o 特点:n 就绪队列中的所有进程以等速度向前进展 时间片q = t/nn t 为响应时间,n为进入系统的进程数目。n 时间片选择:时间片应该比进程切换时间要长,常为100ms6.3 进程调度进程调度6.3 进程调度进程调度n (2)可变时间片轮转调度可变时间片轮转调度o 每当一轮开始,系统根据就绪队列中已有的进程数目计算一次q值,然后进行轮转。在此期间所到达的进程都暂不进入就绪队列,要等此次轮转完毕后再一并进入。o 在采用可变时间片算法中n每当一轮开始时,系统便根据就绪队列中已有的进程数计算q值,然后进行轮转。n在此期间所到达的进程都占不进入就绪队列,而要等
16、到此次轮转完后再一起进入。n此时,系统根据就绪队列中的进程数重新计算q值,然后开始下一轮循环。22o 五五. 调度用的进程调度变迁图调度用的进程调度变迁图 n可采用进程状态变迁图阐述进程调度算法。n如有进程调度算法:o (1)当cpu空闲时,首先从高优先级就绪队列中选择一个进程运行,给定时间片为100ms。o (2)如高优先级就绪队列为空,则从低优先级就绪队列中选择一个进程运行,给定时间片500ms。o 进入低优先就绪队列的进程一般是计算量比较大的的,称为受cpu限制的进程;而阻塞变为高优先就绪进程一般是输入/输出量比较大的进程,称受i/o限制的进程。6.3 进程调度进程调度6.3 进程调度进
17、程调度o 这种调度策略优先照顾i/o量大的进程。适当照顾了计算量大的进程。运行低优先级就绪高优先级就绪因i/o而等待请求i/oi/o完成首先选择100ms其次选择500ms超时间片6.3 进程调度进程调度o 较为复杂的进程状态变迁图运行低优先级就绪高优先级就绪因盘或带i/o而阻塞请求盘或带i/oi/o完成进程调度100ms500ms进程调度超时间片中优先级就绪因终端i/o而阻塞因页面i/o而阻塞i/o完成i/o完成缺页中断请求终端i/o6.4 unix系统的进程调度系统的进程调度o 处理机的分配主要包括三方面工作:n 首先,将现行进程的cpu现场保护到该进程的pcb结构中;n 其次,依调度原则
18、在就绪队列中选择一个进程;n 最后,恢复选中进程的运行现场。n unix系统中,完成这三项工作的程序称为进程切换调度。6.4 unix系统的进程调度系统的进程调度o 一、一、unix系统的进程调度算法系统的进程调度算法n unix系统的进程调度算法是优先数算法。o 一个进程优先权的高低取决于其优先数,优先数越小,优先权越高。在进程调度时机来到时,总是选取优先权最高的进程去运行。n unix系统确定进程优先数的方法有设置和计算两种。o 设置方式用于高、低优先级睡眠状态进程。o 优先数的计算是当进程处在用户态时,每秒由时钟处理程序计算和设置,或者在发生俘获后,返回到用户态之前由俘获处理程序计算和设
19、置。6.4 unix系统的进程调度系统的进程调度o (1)优先数的设置)优先数的设置 n当进程需睡眠时,设置其优先数。由不同的睡眠原因决定其大小。o 等待紧迫的事件,该进程的优先数设置为负值o 等待慢速设备i/o、进程间同步,该进程的优先数设置为正值。o (2)优先数的计算)优先数的计算n1) 当进程从核心态返回用户态时,或自陷返回时,系统计算该进程的优先数。 p_pri = min127,p_cpu/16-p_nice+pusernp_cpu(反映使用cpu的程度)和p_nice(是程序可以设置的进程优先数偏置值)都是proc的分量, puser是固定的偏置常数,定位1006.4 unix系
20、统的进程调度系统的进程调度o (2) 在时钟中断处理程序中在时钟中断处理程序中n每隔20ms,将正在运行的进程的p_cpu 加 1,直到255。这使当前进程p_cpu增大,pri也增大,于是优先级降低。n每隔1s ,时钟中断处理程序对所有的就绪进程计算 p_cpu 减10,直到小于10时置为0。这使所有未占用cpu的进程p_cpu增大,pri也增大,于是优先级提高。n所以,占用cpu时间越长的进程,下次被调用的可能性越小,而未占用cpu的进程等待时间越长,下次被调用的可能性就越大。6.4 unix系统的进程调度系统的进程调度o p_cpu这样的改变方式使进程使用cpu的时间与它被调用的机会称为负反馈过程。 p_cpu p_pri 进程优先权 被调度的机会 被调度的机会 进程优先权 p_pri p_cpuo 这样的负反馈过程使系统中在用户态下运行的各个进程都能比较均衡的享用处理机。6.4 unix系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年软件工程师初级编程实战题集及解析
- 2025年船厂安全操作规范模拟题集
- 2025年国际金融分析师考试知识点梳理与模拟题集
- 电代煤安全知识培训课件新闻
- 2025年焊接工艺知识笔试模拟题及答案
- 人教版鲸教学课件
- 新解读《GB-T 36771-2018番茄花叶病毒检疫鉴定方法》
- 广西钦州市2024-2025学年高一上学期期末教学质量监测物理试卷(含答案)
- 2025年重庆市中考数学押题试卷(三)(含答案)
- 新解读《GB-T 36140-2018装配式玻纤增强无机材料复合保温墙体技术要求》
- 知识产权侵权培训课件
- 2024中国中煤销售集团总部及所属企业电力营销专业人才招聘笔试参考题库附带答案详解
- 2025年上半年北京广播电视台招聘140人笔试易考易错模拟试题(共500题)试卷后附参考答案
- 初中英语沪教牛津版单词表(共6册)
- 酒店客房验收工程项目检查表
- 加强教学常规管理提高教学质量
- 吉兰巴雷综合征病人的护理
- 《英语句子成分》课件
- 河北农业大学分子生物学题库(带答案)
- 2025四川建筑安全员-C证考试(专职安全员)题库及答案
- 随机动态规划与强化学习-洞察分析
评论
0/150
提交评论