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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(JCL)
(2)作业控制语言的类别 包括:I/O命令、编译命令、操作命令以及条 件命令等
2. 批处理作业控制语言与作业说明书(续)
(3)作业说明书
表达用户对作业的控制意图
内容: 作业的基本描述 作业控制描述 资源要求描述
3. 作业控制块与作业表
(1)作业控制块(JCB:Job Control Block)
大多数操作系统都采用比较简单的调度算法
6. 批处理作业的调度(续3)
(2)调度算法性能的衡量
作业平均周转时间 假定某一作业进入“输入井”的时间为Si(提交时间,到
达时间),它被选中执行,得到计算结果的时间为Ei (完成时间)它的周转时间为Ti =Ei – Si 则作业平均周转时间为:
T=( )n T×i
作业控制块是批处理作业存在的标志 保存有系统对于作业进行管理所需要的全部信
息 位于磁盘区域中
3. 作业控制块与作业表(续1)
(2)作业控制块的内容
作业控制块中所包含的信息数量及内容因系 统而异
较简单的系统 较复杂的系统
3. 作业控制块与作业表(续2)
作业标知 用户名称 用户帐号 调度信息 资源需求 作业状态 作业类别 输入井地址 输出井地址 进入系统时间 开始处理时间 作业完成时间 作业退出时间 资源使用情况
作业控制块JCB和作业:一一对应关系
5. 作业的建立(续1)
(1)作业的输入
将作业程序、数据和作业说明书从输入设备(例如 键盘)输入到外存,并形成初始信息
作业输入方式
联机输入方式 脱机输入方式 SPOOLing系统
5. 作业的建立(续2)
联机输入方式 用户和系统通过交互会话来输入作业 外围设备直接和主机连接
6. 批处理作业的调度(续8)
均衡调度算法(分类排队算法)
基本思想: 根据系统运行情况和作业属性将作业分类 轮流从不同的作业类中挑选作业
目标: 力求均衡地利用各种系统资源,发挥资源使用效率 力求使用户满意
6. 批处理作业的调度(续9)
例1:将待处理作业分成如下队列: 队列1:计算量大的作业 队列2:I/O量大的作业 队列3:计算量与I/O量均衡的作业
6. 批处理作业的调度(续11)
(5)作业调度算法应用例子1
假设在单道批处理环境下有四个作业,已知它们进入 系统的时间、估计运行时间
应用先来先服务、最短作业优先和最高响应比优先作 业调度算法,分别计算出作业的平均周转时间和带权 的平均周转时间
6. 批处理作业的调度(续12)
作业
JOB1 JOB2 JOB3 JOB4
第三章 用户接口与作业管理
一、用户与操作系统的接口
作业级接口 程序级接口 1. 作业级接口
操作系统为用户对作业运行全过程控制提供的功能 (1) 联机接口(交互式) (2) 脱机接口
2. 程序级接口
系统为用户在程序一级提供有关服务而设置 由一组系统调用命令组成 负责管理和控制运行的程序 并在这些程序与系统控制的资源和提供的服务间实
作业控制进程:主要负责控制作业的运行,具体解释 执行作业说明书的每一个作业步,并创建子进程来完 成相应步骤
一个作业步的处理:
(1)建立子进程
(2)为其申请资源
(3)访问该作业的JCB (4)释放占有资源
(5)撤消子进程等
作业控制程序只有一个
对应每一处于执行状态的作业有一作业控制进程
9. 作业退出
3. 作业控制块与作业表(续5)
(5)作业控制块的撤消
作业完成后,其作业控制块由系统输出程序撤消 作业控制块被撤消后其作业也不复存在
3. 作业控制块与作业表(续6)
(6)作业表 每个作业有个作业控制块 所有作业JCB构成一个作业表 作业表存放在外存固定区域中,长度是固定 限制了系统所能同时容纳的作业数量
进入状态
后备状态
运行状态
退出状态
数据
数据



源程序


作业说 明书





输入设备


作业控制进程
运行
进程 调度
运行状态
退出状态
数据
数据



源程序


作业说 明书





输入设备


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


输出设备

作业和进程的状态转换图
4. 批处理作业的状态及转换(续2)
(1)运行状态的作业
三种状态:
就绪状态 执行状态 阻塞状态
5. 作业的建立
一个作业建立过程的两个子过程: 作业的输入 JCB的建立
作业带权平均周转时间 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
进入时间 估计运行 开始时间
调度时,在三个队列中各取一些作业 在内存中的作业有的使用处理机 有的使用外部设备
使得系统的各种资源能得到充分利用
6. 批处理作业的调度(续10)
例2:将待处理作业分成如下三个队列: 队列1:长作业 队列2:中等长度作业 队列3:短作业
调度时 取队列1一作业,队列2一作业,队列3一作业
长作业用户和短作业用户均比较满意
1
i 1
n
n为被测定作业流中的作业数
6. 批处理作业的调度(续4)
平均带权周转时间 带权周转时间W=T/r=周转时间/运行时间
n Ti
1
W=( i1 )ri × n
ri 为某作业i的实际执行时间
T:衡量不同调度算法对同一个作业流的性能 W:同一调度算法对不同作业流的性能衡量
6. 批处理作业的调度(续5)
(3)作业流
1. 作业的基本概念(续1)
(4)典型的作业步
源程序
库函数 子程序
动态库函 数
输入数据
编译
目标 程序 段
连接装配
目标 程序
运行
计算结果
2. 批处理作业控制语言与作业说明书
(1)作业控制语言 用户用于描述批处理作业处理过程控制意图
的一种特殊程序 书写作业说明书的语言称为作业控制语言
目标:
单位时间内运行尽可能多的作业 使处理机尽可能保持“忙碌” 使各种I/O设备得以充分利用 对所有的作业都是公平合理的
6. 批处理作业的调度(续2)
要设计一个理想的调度算法是一件十分困难的事 在实际系统中,调度算法往往折衷考虑
设计调度算法时应考虑的因素: 调度算法应与系统设计目标保持一致 注意系统资源均衡使用 保证提交的作业在截止时间内完成 设法缩短作业平均周转时间
(3)系统进行作业调度的决策因素
作业到达时间 预先为作业确定的优先级
系统可测定的其他因素: 作业所需的CPU时间C 存储要求M 打印输出的行数L 其他的资源要求
6. 批处理作业的调度(续6)
(4)常见的批处理作业调度算法
先来先服务算法(FCFS:First Come First Serve)
现交互作用
用汇编语言:在程序中直接用系统调用命令 用高级语言:可在编程时使用过程调用语句
二、批处理系统作业处理
1.作业的基本概念
(1)作业 用户在一次计算过程中,或者一次事务处理过程中,要求计 算机系统所做工作的总称
(2)作业步 一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程: “编译”、“连接装配”、“运行”
系统输入程序、作业调度程序、系统输出程序都需要访问作 业表
因而存在互斥问题
JCB1 JCB2 …… JCBi …… JCBn
作业表
4. 批处理作业的状态及转换
一个作业从进入系统到运行结束
经历四个不同的状态: “进入” “后备” “运行” “完成”
4. 批处理作业的状态及转换(续1)
Baidu Nhomakorabea
进入状态
后备状态
基于优先数调度算法 (HPF:Highest Priority First)
(a)由用户规定优先数(外部优先数) 用户提交作业时,根据急迫程度规定适当的优先数 作业调度程序根据JCB优先数决定进入内存的次序
(b)由系统计算优先数(内部优先数)
例:可按如下公式计算作业的优先数:
优先数 = 用户规定优先数 – 作业处理时间 + 作业等待时间 – 输出量
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
根据计算公式,CPU的空转率为0 采用简单轮转法调度,每小时各作业分别占用25%的CPU时
间,算得该作业组合的平均周转时间约为6小时,而平均带 权周转时间约为3
但是,若以单道程序方式运行: 平均周转时间T=(2+4+6+8)/4=5小时 平均带权周转时间W=(1+2+3+4)/4=2.5
7.作业调度与进程调度
6. 批处理作业的调度
主要功能: 审查系统能否满足用户作业的资源要求
只要通过调用相应的资源管理程序的有关部分 审核其表中是否能满足作业说明书中的要求即可
按照一定的算法从输入井中的后备作业中选取作业
调度的关键在选择恰当的算法
6. 批处理作业的调度(续1)
(1)调度算法评价
调度实质上是一个策略问题 设定的目标往往是相互冲突的
进入时间 估计运行 开始时间
时间
(分钟)
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
16.3
最高响应比优先作业算法计算结果
6. 批处理作业的调度(续15)
(7)多道程序对平均周转时间的影响
作业流在多道环境下运行 平均周转时间、带权平均周转时间
比单道环境下都有明显改善
不是任意作业组合都能改善调度性能 有时甚至可能变坏
6. 批处理作业的调度(续16)
例:四个各需两小时作业同时投入运行,I/O等待时间均占 25%,即占CPU时间各为1.5小时
脱机输入方式 为了解决单台设备联机输入时的CPU浪费问题
5. 作业的建立(续3)
(2)JCB的建立 在系统把作业信息输入到输入井之后 根据作业说明书和有关作业信息在外存的位置等 建立作业控制表JCB
JCB包含对作业进行管理所必须的信息
JCB表的数量是一个常数 外存输入井的大小有限
只有在获得JCB表项和足够输入井空间后 作业才可能创建成功
时间
(分钟)
8:00
120
8:00
8:50
30
10:10
9:00
10
10:00
9:50
20
11:00
作业平均周转时间 T = 87.5
作业带权平均周转时间 W = 4.075
结束时间
10:00 11:00 10:10 11:20
周转时间 (分钟)
120 70 70 90
350
带权周转 时间
1 1.4 7 4.5
作业能否占用处理器?什么时间能够占用处理器? 由进程调度来决定
进程的初始状态为就绪状态 进程调度选择当前可占用 CPU处理进程,当它让出处理器
时,进程调度就再选另一作业的进程 作业调度与进程调度相互配合,实现作业的并行
8. 批处理作业的控制
当作业为执行态时,作业调度程序为其建立一作业控 制进程, 由该进程控制作业运行
最短作业优先算法(SJF:Shortest Job First)
最高响应比优先算法 (HRN:Highest Response Ratio Next)
响应比R = 作业周转时间 / 作业处理时间 =(作业处理时间+作业等待时间)/ 作业处理时间 = 1 +(作业等待时间 / 作业处理时间)
6. 批处理作业的调度(续7)
• 把输出结果送到输出设备上(启动缓输出进程完成) • 回收各种资源
10. SPOOLing系统工作原理
全称:Simultaneous Peripheral Operations On-Line
含义: 同时的外围设备联机操作(假脱机技术)
包括: 输入程序模块 输出程序模块 作业调度程序
10. SPOOLing系统工作原理(续1)
作业控制块JCB
3. 作业控制块与作业表(续3)
(3)作业控制块的建立
当作业开始由输入设备向磁盘的输入井传输时 系统输入程序为其建立一个作业控制块 进行初始化
初始化的大部分信息取自作业说明书
3. 作业控制块与作业表(续4)
(4)作业控制块的使用
需要访问作业控制块的程序 系统输入程序 作业调度程序 作业控制程序 系统输出程序等
相关文档
最新文档