OS03 调度及死锁.ppt

  1. 1、本文档共111页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 调度与死锁 第三章 调度与死锁 3.1 处理机调度概述 3.2 作业调度 3.3 进程调度 3.4 死锁的概念 3.5 死锁的预防和避免 3.6 死锁的检测和解除 3.1 处理机调度概述 处理机调度(CPU调度)要解决的问题: WHAT:按什么原则分配CPU —调度算法 WHEN:何时分配CPU —调度的时机 HOW: 如何分配CPU —CPU调度过程(进程的上下文切换) 处理机调度的三个层次 处理机是计算机系统中的重要资源 处理机调度算法对整个计算机系统的综合性能指标有重要影响 可把处理机调度分成三个层次: 高级调度 中级调度 低级调度 高级调度 也称为作业调度或宏观调度,一般在批处理系统中有作业调度。 中级调度 涉及进程在内外存间的交换,从存储器管理的角度来看,把进程的部分或全部换出到外存上,可为当前运行进程的执行提供所需内存空间。 低级调度 也称微观调度、进程调度,从处理机分配的角度来看,处理机需要经常选择就绪进程或线程进入运行状态。由于低级调度算法的频繁使用,要求在实现时做到高效 3.2 作业调度 3.2.1 作业的基本概念 (1)作业 用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称 (2)作业步 一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程: “编译”、“连接装配”、“运行” 3.2.2 作业控制语言与作业说明书 1、作业控制语言 作业说明书:用于描述作业处理过程 书写作业说明书的语言称为作业控制语言(JCL) 2、作业说明书 表达用户对作业的控制意图 内容: 作业的基本描述 作业控制描述 资源要求描述 3.2.3 作业控制块与作业表 1、作业控制块(JCB:Job Control Block) 作业控制块是作业存在的标志 保存有系统对于作业进行管理所需要的全部信息 位于磁盘区域中 2、作业控制块的内容 作业控制块中所包含的信息数量及内容因系统而异 3、作业表 每个作业有个作业控制块 所有作业JCB构成一个作业表 作业表存放在外存固定区域中,长度是固定的 系统输入程序、作业调度程序、系统输出程序都需要访问作业表,因而存在互斥问题 3.2.4 作业的状态及转换 一个作业从进入系统到运行结束经历四个不同的状态: “进入” “后备” “运行” “完成” 3.2.5 作业的调度 主要功能: 审查系统能否满足用户作业的资源要求 按照一定的算法从后备作业中选取作业 调度的关键在选择恰当的算法 1、调度算法评价 调度实质上是一个策略问题 目标: 单位时间内运行尽可能多的作业 使处理机尽可能保持“忙碌” 使各种I/O设备得以充分利用 对所有的作业都是公平合理的 2、调度算法性能的衡量 作业平均周转时间 假定某一作业进入“输入井”的时间为Si, 它被选中执行,运行结束时的时间为Ei 周转时间为Ti =Ei – Si 则作业平均周转时间为: T=( )× n为作业数 平均带权周转时间 W=( )× ri 为某作业i的实际执行时间 3、系统进行作业调度的决策因素 作业到达时间 预先为作业确定的优先级 作业所需的CPU时间C 存储要求M 打印输出的行数L 其他的资源要求 4、常见的批处理作业调度算法 先来先服务算法(FCFS:First Come First Serve) 最短作业优先算法(SJF:Shortest Job First) 最高响应比优先算法(HRN:Highest Response Ratio Next) 响应比R = 作业周转时间 / 作业处理时间 =(作业运行时间+作业等待时间)/ 作业运行时间 = 1 +(作业等待时间 / 作业运行时间) 基于优先数调度算法(HPF:Highest Priority First) (a)由用户规定优先数(外部优先数) 用户提交作业时,根据急迫程度规定适当的优先数,作业调度程序根据JCB优先数决定进入内存的次序 (b)由系统计算优先数(内部优先数) 例:可按如下公式计算作业的优先数: 优先数 = 用户规定优先数 – 作业处理时间 + 作业等待时间 – 输出量 均衡调度算法(分类排队算法) 基本思想: 根据系统运行情况和作业属性将作业分类 轮流从不同的作业类中挑选作业 目标: 力求均衡地利用各种系统资源,发挥资源使用效率 力求使用户满意 均衡调度算法例1: 将待处理作业分成如下队列: 队列1:计算量大的作业 队列2:I/O量大的

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档