操作系统教程(第二版)第3章 用户接口与作业管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)作业流
1. 作业的基本概念(续1)
(4)典型的作业步
源程序
库函数 子程序
动态库函 数
输入数据
编译
目标 程序 段
连接装配
目标 程序
运行
计算结果
2. 批处理作业控制语言与作业说明书
(1)作业控制语言 用户用于描述批处理作业处理过程控制意图
的一种特殊程序 书写作业说明书的语言称为作业控制语言
作业控制块是批处理作业存在的标志 保存有系统对于作业进行管理所需要的全部信
息 位于磁盘区域中
3. 作业控制块与作业表(续1)
(2)作业控制块的内容
作业控制块中所包含的信息数量及内容因系 统而异
较简单的系统 较复杂的系统
3. 作业控制块与作业表(续2)
作业标知 用户名称 用户帐号 调度信息 资源需求 作业状态 作业类别 输入井地址 输出井地址 进入系统时间 开始处理时间 作业完成时间 作业退出时间 资源使用情况
1
i 1
n
n为被测定作业流中的作业数
6. 批处理作业的调度(续4)
平均带权周转时间 带权周转时间W=T/r=周转时间/运行时间
n Ti
1
W=( i1 )ri × n
ri 为某作业i的实际执行时间
T:衡量不同调度算法对同一个作业流的性能 W:同一调度算法对不同作业流的性能衡量
6. 批处理作业的调度(续5)
脱机输入方式 为了解决单台设备联机输入时的CPU浪费问题
5. 作业的建立(续3)
(2)JCB的建立 在系统把作业信息输入到输入井之后 根据作业说明书和有关作业信息在外存的位置等 建立作业控制表JCB
JCB包含对作业进行管理所必须的信息
JCB表的数量是一个常数 外存输入井的大小有限
只有在获得JCB表项和足够输入井空间后 作业才可能创建成功
目标:
单位时间内运行尽可能多的作业 使处理机尽可能保持“忙碌” 使各种I/O设备得以充分利用 对所有的作业都是公平合理的
6. 批处理作业的调度(续2)
要设计一个理想的调度算法是一件十分困难的事 在实际系统中,调度算法往往折衷考虑
设计调度算法时应考虑的因素: 调度算法应与系统设计目标保持一致 注意系统资源均衡使用 保证提交的作业在截止时间内完成 设法缩短作业平均周转时间
(JCL)
(2)作业控制语言的类别 包括:I/O命令、编译命令、操作命令以及条 件命令等
2. 批处理作业控制语言与作业说明书(续)
(3)作业说明书
表达用户对作业的控制意图
内容: 作业的基本描述 作业控制描述 资源要求描述
3. 作业控制块与作业表
(1)作业控制块(JCB:Job Control Block)
大多数操作系统都采用比较简单的调度算法
6. 批处理作业的调度(续3)
(2)调度算法性能的衡量
作业平均周转时间 假定某一作业进入“输入井”的时间为Si(提交时间,到
达时间),它被选中执行,得到计算结果的时间为Ei (完成时间)它的周转时间为Ti =Ei – Si 则作业平均周转时间为:
T=( )n T×i
作业控制块JCB
3. 作业控制块与作业表(续3)
(3)作业控制块的建立
当作业开始由输入设备向磁盘的输入井传输时 系统输入程序为其建立一个作业控制块 进行初始化
初始化的大部分信息取自作业说明书
3. 作业控制块与作业表(续4)
(4)作业控制块的使用
需要访问作业控制块的程序 系统输入程序 作业调度程序 作业控制程序 系统输出程序等
3. 作业控制块与作业表(续5)
(5)作业控制块的撤消
作业完成后,其作业控制块由系统输出程序撤消 作业控制块被撤消后其作业也不复存在
3. 作业控制块与作业表(续6)
(6)作业表 每个作业有个作业控制块 所有作业JCB构成一个作业表 作业表存放在外存固定区域中,长度是固定 限制了系统所能同时容纳的作业数量
6. 批处理作业的调度
主要功能: 审查系统能否满足用户作业的资源要求
只要通过调用相应的资源管理程序的有关部分 审核其表中是否能满足作业说明书中的要求即可
按照一定的算法从输入井中的后备作业中选取作业
调度的关键在选择恰当的算法
6. 批处理作业的调度(续1)
(1)调度算法评价
调度实质上是一个策略问题 设定的目标往往是相互冲突的
作业控制块JCB和作业:一一对应关系
5. 作业的建立(续1)
(1)作业的输入
将作业程序、数据和作业说明书从输入设备(例如 键盘)输入到外存,并形成初始信息
作业输入方式
联机输入方式 脱机输入方式 SPOOLing系统
5. 作业的建立(续2)
联机输入方式 用户和系统通过交互会话来输入作业 外围设备直接和主机连接
运行状态
退出状态
数据
数据
…
输
作
源程序
入
业
作业说 明书
程
调
序
度
输
输入设备
入
井
作业控制进程
运行
进程 调度
就绪
等待
输 出 程 序
输
出
输出设备
井பைடு நூலகம்
作业和进程的状态转换图
4. 批处理作业的状态及转换(续2)
(1)运行状态的作业
三种状态:
就绪状态 执行状态 阻塞状态
5. 作业的建立
一个作业建立过程的两个子过程: 作业的输入 JCB的建立
第三章 用户接口与作业管理
一、用户与操作系统的接口
作业级接口 程序级接口 1. 作业级接口
操作系统为用户对作业运行全过程控制提供的功能 (1) 联机接口(交互式) (2) 脱机接口
2. 程序级接口
系统为用户在程序一级提供有关服务而设置 由一组系统调用命令组成 负责管理和控制运行的程序 并在这些程序与系统控制的资源和提供的服务间实
系统输入程序、作业调度程序、系统输出程序都需要访问作 业表
因而存在互斥问题
JCB1 JCB2 …… JCBi …… JCBn
作业表
4. 批处理作业的状态及转换
一个作业从进入系统到运行结束
经历四个不同的状态: “进入” “后备” “运行” “完成”
4. 批处理作业的状态及转换(续1)
进入状态
后备状态
现交互作用
用汇编语言:在程序中直接用系统调用命令 用高级语言:可在编程时使用过程调用语句
二、批处理系统作业处理
1.作业的基本概念
(1)作业 用户在一次计算过程中,或者一次事务处理过程中,要求计 算机系统所做工作的总称
(2)作业步 一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程: “编译”、“连接装配”、“运行”
1. 作业的基本概念(续1)
(4)典型的作业步
源程序
库函数 子程序
动态库函 数
输入数据
编译
目标 程序 段
连接装配
目标 程序
运行
计算结果
2. 批处理作业控制语言与作业说明书
(1)作业控制语言 用户用于描述批处理作业处理过程控制意图
的一种特殊程序 书写作业说明书的语言称为作业控制语言
作业控制块是批处理作业存在的标志 保存有系统对于作业进行管理所需要的全部信
息 位于磁盘区域中
3. 作业控制块与作业表(续1)
(2)作业控制块的内容
作业控制块中所包含的信息数量及内容因系 统而异
较简单的系统 较复杂的系统
3. 作业控制块与作业表(续2)
作业标知 用户名称 用户帐号 调度信息 资源需求 作业状态 作业类别 输入井地址 输出井地址 进入系统时间 开始处理时间 作业完成时间 作业退出时间 资源使用情况
1
i 1
n
n为被测定作业流中的作业数
6. 批处理作业的调度(续4)
平均带权周转时间 带权周转时间W=T/r=周转时间/运行时间
n Ti
1
W=( i1 )ri × n
ri 为某作业i的实际执行时间
T:衡量不同调度算法对同一个作业流的性能 W:同一调度算法对不同作业流的性能衡量
6. 批处理作业的调度(续5)
脱机输入方式 为了解决单台设备联机输入时的CPU浪费问题
5. 作业的建立(续3)
(2)JCB的建立 在系统把作业信息输入到输入井之后 根据作业说明书和有关作业信息在外存的位置等 建立作业控制表JCB
JCB包含对作业进行管理所必须的信息
JCB表的数量是一个常数 外存输入井的大小有限
只有在获得JCB表项和足够输入井空间后 作业才可能创建成功
目标:
单位时间内运行尽可能多的作业 使处理机尽可能保持“忙碌” 使各种I/O设备得以充分利用 对所有的作业都是公平合理的
6. 批处理作业的调度(续2)
要设计一个理想的调度算法是一件十分困难的事 在实际系统中,调度算法往往折衷考虑
设计调度算法时应考虑的因素: 调度算法应与系统设计目标保持一致 注意系统资源均衡使用 保证提交的作业在截止时间内完成 设法缩短作业平均周转时间
(JCL)
(2)作业控制语言的类别 包括:I/O命令、编译命令、操作命令以及条 件命令等
2. 批处理作业控制语言与作业说明书(续)
(3)作业说明书
表达用户对作业的控制意图
内容: 作业的基本描述 作业控制描述 资源要求描述
3. 作业控制块与作业表
(1)作业控制块(JCB:Job Control Block)
大多数操作系统都采用比较简单的调度算法
6. 批处理作业的调度(续3)
(2)调度算法性能的衡量
作业平均周转时间 假定某一作业进入“输入井”的时间为Si(提交时间,到
达时间),它被选中执行,得到计算结果的时间为Ei (完成时间)它的周转时间为Ti =Ei – Si 则作业平均周转时间为:
T=( )n T×i
作业控制块JCB
3. 作业控制块与作业表(续3)
(3)作业控制块的建立
当作业开始由输入设备向磁盘的输入井传输时 系统输入程序为其建立一个作业控制块 进行初始化
初始化的大部分信息取自作业说明书
3. 作业控制块与作业表(续4)
(4)作业控制块的使用
需要访问作业控制块的程序 系统输入程序 作业调度程序 作业控制程序 系统输出程序等
3. 作业控制块与作业表(续5)
(5)作业控制块的撤消
作业完成后,其作业控制块由系统输出程序撤消 作业控制块被撤消后其作业也不复存在
3. 作业控制块与作业表(续6)
(6)作业表 每个作业有个作业控制块 所有作业JCB构成一个作业表 作业表存放在外存固定区域中,长度是固定 限制了系统所能同时容纳的作业数量
6. 批处理作业的调度
主要功能: 审查系统能否满足用户作业的资源要求
只要通过调用相应的资源管理程序的有关部分 审核其表中是否能满足作业说明书中的要求即可
按照一定的算法从输入井中的后备作业中选取作业
调度的关键在选择恰当的算法
6. 批处理作业的调度(续1)
(1)调度算法评价
调度实质上是一个策略问题 设定的目标往往是相互冲突的
作业控制块JCB和作业:一一对应关系
5. 作业的建立(续1)
(1)作业的输入
将作业程序、数据和作业说明书从输入设备(例如 键盘)输入到外存,并形成初始信息
作业输入方式
联机输入方式 脱机输入方式 SPOOLing系统
5. 作业的建立(续2)
联机输入方式 用户和系统通过交互会话来输入作业 外围设备直接和主机连接
运行状态
退出状态
数据
数据
…
输
作
源程序
入
业
作业说 明书
程
调
序
度
输
输入设备
入
井
作业控制进程
运行
进程 调度
就绪
等待
输 出 程 序
输
出
输出设备
井பைடு நூலகம்
作业和进程的状态转换图
4. 批处理作业的状态及转换(续2)
(1)运行状态的作业
三种状态:
就绪状态 执行状态 阻塞状态
5. 作业的建立
一个作业建立过程的两个子过程: 作业的输入 JCB的建立
第三章 用户接口与作业管理
一、用户与操作系统的接口
作业级接口 程序级接口 1. 作业级接口
操作系统为用户对作业运行全过程控制提供的功能 (1) 联机接口(交互式) (2) 脱机接口
2. 程序级接口
系统为用户在程序一级提供有关服务而设置 由一组系统调用命令组成 负责管理和控制运行的程序 并在这些程序与系统控制的资源和提供的服务间实
系统输入程序、作业调度程序、系统输出程序都需要访问作 业表
因而存在互斥问题
JCB1 JCB2 …… JCBi …… JCBn
作业表
4. 批处理作业的状态及转换
一个作业从进入系统到运行结束
经历四个不同的状态: “进入” “后备” “运行” “完成”
4. 批处理作业的状态及转换(续1)
进入状态
后备状态
现交互作用
用汇编语言:在程序中直接用系统调用命令 用高级语言:可在编程时使用过程调用语句
二、批处理系统作业处理
1.作业的基本概念
(1)作业 用户在一次计算过程中,或者一次事务处理过程中,要求计 算机系统所做工作的总称
(2)作业步 一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程: “编译”、“连接装配”、“运行”