- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 调度与死锁 第五章 调度与死锁 5.1 处理机调度概述 5.2 作业调度 5.3 进程调度 5.4 死锁的概念 5.5 死锁的预防和避免 5.6 死锁的检测和解除 5.1 处理机调度概述 处理机调度(CPU调度)要解决的问题: WHAT:按什么原则分配CPU —调度算法 WHEN:何时分配CPU —调度的时机 HOW: 如何分配CPU —CPU调度过程(进程的上下文切换) 处理机调度的三个层次 处理机是计算机系统中的重要资源 处理机调度算法对整个计算机系统的综合性能指标有重要影响 可把处理机调度分成三个层次: 高级调度 中级调度 低级调度 高级调度 也称为作业调度或宏观调度,一般在批处理系统中有作业调度。 中级调度 涉及进程在内外存间的交换,从存储器资源管理的角度来看,把进程的部分或全部换出到外存上,可为当前运行进程的执行提供所需内存空间。 低级调度 也称微观调度、进程调度,从处理机资源分配的角度来看,处理机需要经常选择就绪进程或线程进入运行状态。由于低级调度算法的频繁使用,要求在实现时做到高效 5.2 作业调度 5.2.1 作业的基本概念 (1)作业 用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称 (2)作业步 一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程: “编译”、“连接装配”、“运行” 5.2.2 批处理作业控制语言与作业说明书 1、作业控制语言 作业说明书:用户用于描述批处理作业处理过程 书写作业说明书的语言称为作业控制语言(JCL) 2、作业说明书 表达用户对作业的控制意图 内容: 作业的基本描述 作业控制描述 资源要求描述 5.2.3 作业控制块与作业表 1、作业控制块(JCB:Job Control Block) 作业控制块是批处理作业存在的标志 保存有系统对于作业进行管理所需要的全部信息 位于磁盘区域中 2、作业控制块的内容 作业控制块中所包含的信息数量及内容因系统而异 3、作业控制块的建立 当作业开始由输入设备向磁盘的输入井传输时,系统输入程序为其建立一个作业控制块,并进行初始化 初始化的大部分信息取自作业说明书 4、作业控制块的使用 需要访问作业控制块的程序: 系统输入程序 作业调度程序 作业控制程序 系统输出程序等 5、作业控制块的撤消 作业完成后,其作业控制块由系统输出程序撤消 作业控制块被撤消后其作业也不复存在 6、作业表 每个作业有个作业控制块 所有作业JCB构成一个作业表 作业表存放在外存固定区域中,长度是固定 限制了系统所能同时容纳的作业数量 系统输入程序、作业调度程序、系统输出程序都需要访问作业表,因而存在互斥问题 5.2.4 批处理作业的状态及转换 一个作业从进入系统到运行结束经历四个不同的状态: “进入” “后备” “运行” “完成” 运行状态的作业 有三种基本状态(进程的三种基本状态): 就绪状态 执行状态 阻塞状态 5.2.5 作业的建立 经历两个过程 1、作业的输入 2、JCB的建立 作业控制块JCB和作业:一一对应关系 1、作业的输入 将作业程序、数据和作业说明书从输入设备(例如键盘)输入到外存,并形成初始信息 联机输入方式 用户和系统通过交互会话来输入作业 外围设备直接和主机连接 2、JCB的建立 在系统把作业信息输入到输入井之后,根据作业说明书和有关作业信息在外存的位置等,建立作业控制表JCB JCB包含对作业进行管理所必须的信息 JCB表的数量是一个常数 外存输入井的大小有限 只有在获得JCB表项和足够输入井空间后 作业才可能创建成功 5.2.6 批处理作业的调度 主要功能: 审查系统能否满足用户作业的资源要求 按照一定的算法从输入井中的后备作业中选取作业 调度的关键在选择恰当的算法 1、调度算法评价 调度实质上是一个策略问题 设定的目标往往是相互冲突的 目标: 单位时间内运行尽可能多的作业 使处理机尽可能保持“忙碌” 使各种I/O设备得以充分利用 对所有的作业都是公平合理的 要设计一个理想的调度算法是一件十分困难的事 在实际系统中,调度算法往往折衷考虑 设计调度算法时应考虑的因素: 调度算法应与系统设计目标保持一致 注意系统资源均衡使用 保证提交的作业在截止时间内完成 设法缩短作业平均周转时间 大多数操作系统都采用比较简单的调度算法 2、调度算法性能的衡量 作业平均周转时间 假定某一作业进入“输入井”的时间为Si, 它被选中执行,运行结束时的时间为Ei 周转时间为Ti =Ei – Si 则作业平均周转时间为: T=( )×
原创力文档


文档评论(0)