当前位置:文档之家› 操作系统教程第3章用户接口与作业管理

操作系统教程第3章用户接口与作业管理

操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续9)
例1:将待处理作业分成如下队列: 队列1:计算量大的作业 队列2:I/O量大的作业 队列3:计算量与I/O量均衡的作业
n 调度时,在三个队列中各取一些作业 在内存中的作业有的使用处理机 有的使用外部设备
n 使得系统的各种资源能得到充分利用
系统输入程序、作业调度程序、系统输出程序都需要访问作 业表
因而存在互斥问题
JCB1 JCB2 …… JCBi …… JCBn
作业表
操作系统教程第3章用户接口与作业 管理
4. 批处理作业的状态及转换
一个作业从进入系统到运行结束
经历四个不同的状态: “进入” “后备” “运行” “完成”
操作系统教程第3章用户接口与作业 管理
4. 批处理作业的状态及转换(续1)
进入状态
后备状态
运行状态
退出状态
数据
数据



源程序


作业说 明书





输入设备


作业控制进程
运行
进程 调度
就绪
等待
输 出 程 序


输出设备

作业和进程的状态转换图
操作系统教程第3章用户接口与作业 管理
4. 批处理作业的状态及转换(续2)
(1)运行状态的作业 三种状态: n 就绪状态 n 执行状态 n 阻塞状态
设计调度算法时应考虑的因素: n 调度算法应与系统设计目标保持一致 n 注意系统资源均衡使用 n 保证提交的作业在截止时间内完成 n 设法缩短作业平均周转时间
大多数操作系统都采用比较简单的调度算法
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续3)
(2)调度算法性能的衡量
作业平均周转时间 假定某一作业进入“输入井”的时间为Si(提交时间,到
达时间),它被选中执行,得到计算结果的时间为Ei (完成时间)它的周转时间为Ti =Ei – Si 则作业平均周转时间为:
T=( )×
n为被测定作业流中的作业数
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续4)
平均带权周转时间 带权周转时间W=T/r=周转时间/运行时间
W=( )×
7.作业调度与进程调度
作业能否占用处理器?什么时间能够占用处理器? 由进程调度来决定
进程的初始状态为就绪状态 进程调度选择当前可占用 CPU处理进程,当它让出处理器
时,进程调度就再选另一作业的进程 作业调度与进程调度相互配合,实现作业的并行
操作系统教程第3章用户接口与作业 管理
8. 批处理作业的控制
1.作业的基本概念
(1)作业 用户在一次计算过程中,或者一次事务处理过程中,要求计 算机系统所做工作的总称
(2)作业步 一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程: “编译”、“连接装配”、“运行”
(3)作业流
操作系统教程第3章用户接口与作业 管理
1. 作业的基本概念(续1)
(4)典型的作业步
源程序
库函数 子程序
动态库函 数
输入数据
编译
目标 程序 段
连接装配
目标 程序
运行
计算结果
操作系统教程第3章用户接口与作业 管理
2. 批处理作业控制语言与作业说明书
(1)作业控制语言 n 用户用于描述批处理作业处理过程控制意图
的一种特殊程序 n 书写作业说明书的语言称为作业控制语言
(JCL)
(2)作业控制语言的类别 包括:I/O命令、编译命令、操作命令以及条 件命令等
操作系统教程第3章用户接口与作业 管理
2. 批处理作业控制语言与作业说明书(续)
(3)作业说明书
表达用户对作业的控制意图
内容: n 作业的基本描述 n 作业控制描述 n 资源要求描述
操作系统教程第3章用户接口与作业 管理
3. 作业控制块与作业表
(1)作业控制块(JCB:Job Control Block)
作业输入方式
联机输入方式 脱机输入方式 SPOOLing系统
操作系统教程第3章用户接口与作业 管理
5. 作业的建立(续2)
联机输入方式 n 用户和系统通过交互会话来输入作业 n 外围设备直接和主机连接
脱机输入方式 为了解决单台ห้องสมุดไป่ตู้备联机输入时的CPU浪费问题
操作系统教程第3章用户接口与作业 管理
响应比R = 作业周转时间 / 作业处理时间 =(作业处理时间+作业等待时间)/ 作业处理时间 = 1 +(作业等待时间 / 作业处理时间)
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续7)
n 基于优先数调度算法 (HPF:Highest Priority First)
(a)由用户规定优先数(外部优先数) 用户提交作业时,根据急迫程度规定适当的优先数 作业调度程序根据JCB优先数决定进入内存的次序
n 作业控制块是批处理作业存在的标志 n 保存有系统对于作业进行管理所需要的全部信
息 n 位于磁盘区域中
操作系统教程第3章用户接口与作业 管理
3. 作业控制块与作业表(续1)
(2)作业控制块的内容 作业控制块中所包含的信息数量及内容因系 统而异
n 较简单的系统 n 较复杂的系统
操作系统教程第3章用户接口与作业 管理
操作系统教程第3章用户接口与作业 管理
5. 作业的建立
一个作业建立过程的两个子过程: n 作业的输入 n JCB的建立
作业控制块JCB和作业:一一对应关系
操作系统教程第3章用户接口与作业 管理
5. 作业的建立(续1)
(1)作业的输入
将作业程序、数据和作业说明书从输入设备(例如 键盘)输入到外存,并形成初始信息
系统为用户在程序一级提供有关服务而设置 由一组系统调用命令组成 n 负责管理和控制运行的程序 n 并在这些程序与系统控制的资源和提供的服务间实
现交互作用
n 用汇编语言:在程序中直接用系统调用命令 n 用高级语言:可在编程时使用过程调用语句
操作系统教程第3章用户接口与作业 管理
二、批处理系统作业处理
(b)由系统计算优先数(内部优先数)
例:可按如下公式计算作业的优先数:
优先数 = 用户规定优先数 – 作业处理时间 + 作业等待时间 – 输出量
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续8)
n 均衡调度算法(分类排队算法)
基本思想: n 根据系统运行情况和作业属性将作业分类 n 轮流从不同的作业类中挑选作业 目标: n 力求均衡地利用各种系统资源,发挥资源使用效率 n 力求使用户满意
n 作业控制程序只有一个
对应每一处于执行状态的作业有一作业控制进程
操作系统教程第3章用户接口与作业 管理
n 当作业为执行态时,作业调度程序为其建立一作业控 制进程, 由该进程控制作业运行
n 作业控制进程:主要负责控制作业的运行,具体解释 执行作业说明书的每一个作业步,并创建子进程来完 成相应步骤
n 一个作业步的处理:
(1)建立子进程
(2)为其申请资源
(3)访问该作业的JCB (4)释放占有资源
(5)撤消子进程等
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续10)
例2:将待处理作业分成如下三个队列: 队列1:长作业 队列2:中等长度作业 队列3:短作业
n 调度时 取队列1一作业,队列2一作业,队列3一作业
n 长作业用户和短作业用户均比较满意
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续11)
3. 作业控制块与作业表(续2)
作业标知 用户名称 用户帐号 调度信息 资源需求 作业状态 作业类别 输入井地址 输出井地址 进入系统时间 开始处理时间 作业完成时间 作业退出时间 资源使用情况
作业控制块JCB
操作系统教程第3章用户接口与作业 管理
3. 作业控制块与作业表(续3)
(3)作业控制块的建立
(5)作业调度算法应用例子1
n 假设在单道批处理环境下有四个作业,已知它们进入 系统的时间、估计运行时间
应用先来先服务、最短作业优先和最高响应比优先作 业调度算法,分别计算出作业的平均周转时间和带权 的平均周转时间
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续12)
先来先服务调度算法计算结果
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续13)
最短作业优先作业算法计算结果
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续14)
最高响应比优先作业算法计算结果
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续15)
(7)多道程序对平均周转时间的影响
操作系统教程第3章用户接口与作业 管理
6. 批处理作业的调度(续6)
(4)常见的批处理作业调度算法
n 先来先服务算法(FCFS:First Come First Serve)
n 最短作业优先算法(SJF:Shortest Job First)
n 最高响应比优先算法 (HRN:Highest Response Ratio Next)
6. 批处理作业的调度
主要功能: n 审查系统能否满足用户作业的资源要求
只要通过调用相应的资源管理程序的有关部分 审核其表中是否能满足作业说明书中的要求即可
n 按照一定的算法从输入井中的后备作业中选取作业
调度的关键在选择恰当的算法
操作系统教程第3章用户接口与作业 管理
相关主题