当前位置:
文档之家› 操作系统教程(第二版)第3章 用户接口与作业管理
操作系统教程(第二版)第3章 用户接口与作业管理
6. 批处理作业的调度
主要功能: 审查系统能否满足用户作业的资源要求
只要通过调用相应的资源管理程序的有关部分 审核其表中是否能满足作业说明书中的要求即可
按照一定的算法从输入井中的后备作业中选取作业
调度的关键在选择恰当的算法
6. 批处理作业的调度(续1)
(1)调度算法评价
调度实质上是一个策略问题 设定的目标往往是相互冲突的
(JCL)
(2)作业控制语言的类别 包括:I/O命令、编译命令、操作命令以及条 件命令等
2. 批处理作业控制语言与作业说明书(续)
(3)作业说明书
表达用户对作业的控制意图
内容: 作业的基本描述 作业控制描述 资源要求描述
3. 作业控制块与作业表
(1)作业控制块(JCB:Job Control Block)
大多数操作系统都采用比较简单的调度算法
6. 批处理作业的调度(续3)
(2)调度算法性能的衡量
作业平均周转时间 假定某一作业进入“输入井”的时间为Si(提交时间,到
达时间),它被选中执行,得到计算结果的时间为Ei (完成时间)它的周转时间为Ti =Ei – Si 则作业平均周转时间为:
T=( )n T×i
目标:
单位时间内运行尽可能多的作业 使处理机尽可能保持“忙碌” 使各种I/O设备得以充分利用 对所有的作业都是公平合理的
6. 批处理作业的调度(续2)
要设计一个理想的调度算法是一件十分困难的事 在实际系统中,调度算法往往折衷考虑
设计调度算法时应考虑的因素: 调度算法应与系统设计目标保持一致 注意系统资源均衡使用 保证提交的作业在截止时间内完成 设法缩短作业平均周转时间
作业带权平均周转时间 W = 3.25
结束时间
10:00 11:20 10:10 10:30
周转时间 (分钟)
120 150 70 40
380
带权周转 时间
1 3 7 2
13
最短作业优先作业算法计算结果
6. 批处理作业的调度(续14)
作业
JOB1 JOB2 JOB3 JOB4
进入时间 估计运行 开始时间
3. 作业控制块与作业表(续5)
(5)作业控制块的撤消
作业完成后,其作业控制块由系统输出程序撤消 作业控制块被撤消后其作业也不复存在
3. 作业控制块与作业表(续6)
(6)作业表 每个作业有个作业控制块 所有作业JCB构成一个作业表 作业表存放在外存固定区域中,长度是固定 限制了系统所能同时容纳的作业数量
进入时间 估计运行 开始时间
时间
(分钟)
8:00
120
8:00
8:50
50
10:00
9:00
10
10:50
9:50
20
11:00
作业平均周转时间 T = 112.5
作业带权平均周转时间 W = 4.975
结束时间
10:00 10:50 11:00 11:20
周转时间 (分钟)
120 120 120 90
根据计算公式,CPU的空转率为0 采用简单轮转法调度,每小时各作业分别占用25%的CPU时
间,算得该作业组合的平均周转时间约为6小时,而平均带 权周转时间约为3
但是,若以单道程序方式运行: 平均周转时间T=(2+4+6+8)/4=5小时 平均带权周转时间W=(1+2+3+4)/4=2.5
7.作业调度与进程调度
6. 批处理作业的调度(续8)
均衡调度算法(分类排队算法)
基本思想: 根据系统运行情况和作业属性将作业分类 轮流从不同的作业类中挑选作业
目标: 力求均衡地利用各种系统资源,发挥资源使用效率 力求使用户满意
6. 批处理作业的调度(续9)
例1:将待处理作业分成如下队列: 队列1:计算量大的作业 队列2:I/O量大的作业 队列3:计算量与I/O量均衡的作业
450
带权周转 时间
1 2.4 12 4.5
19.9
先来先服务调度算法计算结果
6. 批处理作业的调度(续13)
作业
JOB1 JOB2 JOB3 JOB4
进入时间 估计运行 开始时间
时间
(分钟)
8:00
120
8:00
8:50
50
10:30
9:00
10
10:00
9:50
20
10:10
作业平均周转时间 T = 95
作业控制进程:主要负责控制作业的运行,具体解释 执行作业说明书的每一个作业步,并创建子进程来完 成相应步骤
一个作业步的处理:
(1)建立子进程
(2)为其申请资源
(3)访问该作业的JCB (4)释放占有资源
(5)撤消子进程等
作业控制程序只有一个
对应每一处于执行状态的作业有一作业控制进程
9. 作业退出
16.3
最高响应比优先作业算法计算结果
6. 批处理作业的调度(续15)
(7)多道程序对平均周转时间的影响
作业流在多道环境下运行 平均周转时间、带权平均周转时间
比单道环境下都有明显改善
不是任意作业组合都能改善调度性能 有时甚至可能变坏
6. 批处理作业的调度(续16)
例:四个各需两小时作业同时投入运行,I/O等待时间均占 25%,即占CPU时间各为1.5小时
进入状态
后备状态
运行状态
退出状态
数据
数据
…
输
作
源程序
入
业
作业说 明书
程
调
序
度
输
输入设备
入
井
作业控制进程
运行
进程 调度
作业控制块是批处理作业存在的标志 保存有系统对于作业进行管理所需要的全部信
息 位于磁盘区域中
3. 作业控制块与作业表(续1)
(2)作业控制块的内容
作业控制块中所包含的信息数量及内容因系 统而异
较简单的系统 较复杂的系统
3. 作业控制块与作业表(续2)
作业标知 用户名称 用户帐号 调度信息 资源需求 作业状态 作业类别 输入井地址 输出井地址 进入系统时间 开始处理时间 作业完成时间 作业退出时间 资源使用情况
作业控制块JCB和作业:一一对应关系
5. 作业的建立(续1)
(1)作业的输入
将作业程序、数据和作业说明书从输入设备(例如 键盘)输入到外存,并形成初始信息
作业输入方式
联机输入方式 脱机输入方式 SPOOLing系统
5. 作业的建立(续2)
联机输入方式 用户和系统通过交互会话来输入作业 外围设备直接和主机连接
(3)系统进行作业调度的决策因素
作业到达时间 预先为作业确定的优先级
系统可测定的其他因素: 作业所需的CPU时间C 存储要求M 打印输出的行数L 其他的资源要求
6. 批处理作业的调度(续6)
(4)常见的批处理作业调度算法
先来先服务算法(FCFS:First Come First Serve)
脱机输入方式 为了解决单台设备联机输入时的CPU浪费问题
5. 作业的建立(续3)
(2)JCB的建立 在系统把作业信息输入到输入井之后 根据作业说明书和有关作业信息在外存的位置等 建立作业控制表JCB
JCB包含对作业进行管理所必须的信息
JCB表的数量是一个常数 外存输入井的大小有限
只有在获得JCB表项和足够输入井空间后 作业才可能创建成功
1
i 1
n
n为被测定作业流中的作业数
6. 批处理作业的调度(续4)
平均带权周转时间 带权周转时间W=T/r=周转时间/运行时间
n Ti
1
W=( i1 )ri × n
ri 为某作业i的实际执行时间
T:衡量不同调度算法对同一个作业流的性能 W:同一调度算法对不同作业流的性能衡量
6. 批处理作业的调度(续5)
调度时,在三个队列中各取一些作业 在内存中的作业有的使用处理机 有的使用外部设备
使得系统的各种资源能得到充分利用
6. 批处理作业的调度(续10)
例2:将待处理作业分成如下三个队列: 队列1:长作业 队列2:中等长度作业 队列3:短作业
调度时 取队列1一作业,队列2一作业,队列3一作业
长作业用户和短作业用户均比较满意
最短作业优先算法(SJF:Shortest Job First)
最高响应比优先算法 (HRN:Highest Response Ratio Next)
响应比R = 作业周转时间 / 作业处理时间 =(作业处理时间+作业等待时间)/ 作业处理时间 = 1 +(作业等待时间 / 作业处理时间)
6. 批处理作业的调度(续7)
• 把输出结果送到输出设备上(启动缓输出进程完成) • 回收各种资源
10. SPOOLing系统工作原理
全称:Simultaneous Peripheral Operations On-Line
含义: 同时的外围设备联机操作(假脱机技术)
包括: 输入程序模块 输出程序模块 作业调度程序
10. SPOOLing系统工作原理(续1)
作业能否占用处理器?什么时间能够占用处理器? 由进程调度来决定
进程的初始状态为就绪状态 进程调度选择当前可占用 CPU处理进程,当它让出处理器
时,进程调度就再选另一作业的进程 作业调度与进程调度相互配合,实现作业的并行
8. 批处理作业的控制
当作业为执行态时,作业调度程序为其建立一作业控 制进程, 由该进程控制作业运行
第三章 用户接口与作业管理
一、用户与操作系统的接口
作业级接口 程序级接口 1. 作业级接口
操作系统为用户对作业运行全过程控制提供的功能 (1) 联机接口(交互式) (2) 脱机接口