作业和用户接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其中:作业名可省略,操作数包括帐号、用户名、作业类别、估计运行时间、主存空间要 求、优先级等
B、执行命令:标识作业步开始,指出执行的程序名
PROC=过程名
//[作业步名] EXEC 程序名
其它参数
PGM=程序名
其中必须选择一项
C、数据定义命令:描述作业使用的数据文件
//数据集名 DD 以逗号分隔的操作数
Ti
)x— n
n:作业数
Ti:作业i的周转时间:Ti=Tci-Tsi Tci:作业i的完成时刻 Tsi作业i的提交时刻
作业平均加权周转时间。
n
W=(∑
—ti
1
)x—
i=1 T
n
ri
Tri:某作业i的实际执行时间
2019/8/9
Operating System
14
节三 作业调度
4. 系统进行作业调度的决策因素 根据上面所述的调度性能的衡量,以及系统所要达 到的目标, 为了使系统能自动进行作业调度,下面给 出调度所依据的准则 :
后备 收容队列
调度 选中
调入内存 CPU执行
运行
SPOOLing 系统IN模块
作业生命周期
2019/8/9
Operating System
完成 SPOOLing
系统OUT模块
11
节三 作业调度
作业调度:
检查系统是否满足作业的资源要求,并按一 定算法选取作业。作业调度也称为宏观调度。 调度实质上是一个策略问题 ,设定的目标往往 是相互冲突的。
HOME=/home/thisuser 此外,在执行新进程时(UNIX中是exec()调用),可以给出 环境变量的初始值,通常就是直接复制当前进程的所有环境 变量--继承。
通过系统调用接口也可使用系统命令。 C语言里的system()函数:调用shell来完成命令 如 UNIX系统: system(“cp -r doc /tmp”)
作业基本情况、
作业控制、
作业资源要求的描述;
它体现用户的控制意图。 如:预计运行时间、要求的 资源情况、执行优先级等。
2019/8/9
Operating System
作业说明书的主要内容
3
作业和用户接口
作业基本情况:用户名、作业名、编程语言、最大处理时 间等;
作业控制描述:作业控制方式、作业步的操作顺序、作业 执行出错处理;
2019/8/9
Operating System
23
节四 作业控制
命令分成:内部命令和外部命令。
内部命令:直接由shell本身完成,功能简单、使用频繁; 如:DOS的copy命令。 外部命令:运行相应的可执行文件(后者功能或版本与 shell无关) 如:DOS的xcopy命令。
利用参数替换可简化命令输入:通配符(?, *)用于匹 配一组文件名。
1. 作业调度算法的评价因素
单位时间内运行尽可能多的作业; 使处理机尽可能保持“忙碌”; 使各种I/O设备得以充分利用; 对所有的作业都是公平合理的。
2019/8/9
Operating System
12
节三 作业调度
2. 作业调度算法
先来先服务:按作业到达先后进行调度,即启动等待时间 最长的作业。 短作业优先:以要求运行时间长短进行调度,即启动要求 运行时间最短的作业。 高响应比优先:响应比高的作业优先启动。
第七章
作业和用户接口
袁俊
2019/8/9
Operating System
1
作业和用户接口
一、作业相关概念
作业是指在一次应用业务处理过程中,从输入开始到输出 结束,用户要求计算机所做的有关该次业务处理的全部工 作。 根据操作过程:作业由不同的、顺序相连的作业步组成。 作业步是在一个作业的处理过程中,计算机所做的相对独 立的工作。 作业流:批处理系统中作业按某种算法通过输入设备进入 输入井中形成作业流。 作业的逻辑组织:
直接耦合作业输入方式
一个过程负责从外部设备把信息读入缓冲区;
另一个是写过程,负责把缓冲区的信息送到外存输入井 中。
2019/8/9
Operating System
7
节二 作业的建立
2019/8/9
SPOOLING系统
Operating System
8
节二 作业的建立
通道:通道是一个独立于CPU的专管输入/输出的处 理机,它控制外设或外存与内存之间的信息交换。 网络输入方式. 二、作业控制表的建立(JCB Job Control Block) 在运行过程中,系统对作业进行管理的必要信息:
操作数包括数据文件名、属性、要求的输入/输出设备、需要的外部存储空间等。
2019/8/9
Operating System
21
节四 作业控制
2、批处理 在微机和工作站系统,常常实使用批处理方 式编写作业说明书。批处理命令集是存放在 一个特殊的批处理文件中(DOS的 .bat文 件)。
操作系统提供提供支持批处理的一套控制命 令,控制成批命令执行。
15
节三 作业调度
5. 多道程序对平均周转时间的影响 作业流在多道环境下运行:
平均周转时间、带权平均周转时间比单道环境下 都有明显改善 。 不是任意作业组合都能改善调度性能,有时甚至 可能变坏 。
2019/8/9
Operating System
16
节四 作业控制
作业在OS控制下运行。包括作业的输入、 作业在系统中的运行、故障处理以及作业的最 终输出。
作业控制是用户与OS的接口。
一、脱机作业控制:
用户提交作业说明书,交操作人员对整个 作业的运行进行控制。在批处理系统中的运行 方式。
2019/8/9
Operating System
17
节四 作业控制
1、作业控制语言(JCL) 作业说明书是由系统提供的作业控制语言 (Job Control Language — JCB)编写的操 作说明书。
VOLUME=SER=0123,
DCB=(RECFM=FB, LRECL=80,BLKSIZE=800)
DD *
第一作业步, PL/1编译
…
PL/1程序
…
2019/8/9
Operating System
19
节四 作业控制
//STEP2 EXEC //OUTPUT DD //INPUT DD //SYSLIB DD /*
2019/8/9
Operating System
5
节二 作业的建立
一、 作业输入方式
作业输入方式可分为6种:
联机输入方式:用户和系统通过交互会话来输入 作业。
脱机输入方式(又称预输入方式):用户通过外围 机的联机方式把作业首先输入到后援储存器,然后, 用户把装有输入数据的后援储存器拿到主机的高速 外围设备上和主机连接,从而在较短时间内完成作 业的输入工作。
2019/8/9
பைடு நூலகம்
Operating System
4
节二 作业的建立
一个作业的建立过程包括两个子过程:
作业的输入,
JCB的建立。
作业的输入指将作业的程序、数据和作业说 明书从输入设备(例如键盘)输入到外存,并形成 有关初始信息。显然,在作业未输入计算机 前,计算机内没有任何有关作业的信息,系 统也无法预知作业在何时开始输入。从 而.必须有外部启动信号通知系统调用相应 的输入管理程序来负责控制和完成作业的输 入工作。
作业资源要求描述:处理时间、优先级、内存空间、外设 类型和数量、实用程序要求等。
通常,作业说明书方式主要用在批处理系统中,且 各计算机厂家都对自己的系统定义有各自的作业说 明书的格式和内容。因此,上述作业说明书的内容 因计算机而异。不过,无论何种作业说明书,它们 都根据系统提供的控制命令和有关参数按照一定的 格式进行编写。
如:UNIX的cp命令:当前目录上有两个“1.tar” 和“2.tar”时,“cp *.tar /tmp”等同于“cp 1.tar /tmp; cp 2.tar /tmp” 按照功能,命令可大致分为以下几类:
2019/8/9
Operating System
24
节四 作业控制
(1) 环境设置。 这些命令用来改变终端用户的所在位置、执 行路径等。 环境变量也可以作为shell的参数,如命令提示符 的式样,外部命令的查找目录路径等。 如:PATH=/bin:/usr/bin:/usr/sbin:.
直接耦合方式:把主机和外围低档机通过一个公用 的大容量外存直接耦合起来。
2019/8/9
Operating System
6
节二 作业的建立
SPOOLING系统:又译 为:“外围设备同时联 机操作”。多台外围设 备通过通道或DMA器件 和主机与外存连接起来。 作业的输入输出过程由 主机中的操作系统控制。 操作系统中的输入程序 包含两个独立的过程:
//
//STEP1 //OUTPUT
//INPUT /*
JOB NAME=DONVAN,
ACCOUNT=6.251, TIMELIMIT=5 , PRIORITY=8,
EXEC PL1
记录格式是定长记录,成 块形式; LRECL=80逻辑
记录80B长度, 数据块大小800B
DD UNIT=TAPE9,
LINKER,COND=(4,LT,STEP1) DSNAME=REAL.LIVE.FILE DSNAME=&STEP1.OUTPUT DSNAME=PL1.LIBRARY
//STEP3 EXEC REAL.LIVE.FILE,MEMORY=100K //OUTPUT DD UNIT=PRINTER //INPUT DD *
程序 数据 作业说明书。
系统通过作业说明书,控制文件形式的程序和数据,使 之执行和操作。
2019/8/9
Operating System
2
作业和用户接口
二、作业的组织
作业由程序、数据和作业说 明书三部分组成。由作业说 明书,在系统中将生成一个 称为作业控制块(JCB)的 表格。
作业说明书(Job exponent) 包括:
响应比=(等待时间+估计运行时间)/ 估计运行时间 高优先级优先:由用户指定作业优先级,优先级高的作业 先启动。
实际的作业调度算法可能会是多种算法的综合。 作业调度算法应用举例
2019/8/9
Operating System
13
节三 作业调度
3. 调度算法性能的衡量 作业平均周转时间
n
1
J=(∑
i=1
作业到达时间; 预先为作业确定的优先级;
这两个因素在作业提交之后,系统可以测定的、需 要考虑的其他因素有:
作业所需的CPU的时间C; 存储要求M; 打印输出的行数L; 其他的资源需求;
为了简单,这里只考虑C,M,L三个因素。显然这 些值只能根据用户提交的作业说明书估算得到。
2019/8/9
Operating System
1)作业名 2)估计执行时间 3)优先数(用于调度) 4)作业说明书文件名 5)程序类型(需调用的系统程序) 6)资源要求:(静态,或中间可以随作业步变化--效 率不高;动态分配 7)作业状态:提交、后备、执行、就绪、等待、完成。
2019/8/9
Operating System
9
节二 作业的建立
从作业输入请求开始到建立JCB表,作业处于
提交状态。在建立JCB表之后到被作业调度程
序选中进入内存,作业在作业等待队列中处
于后备状态。作业进入内存后到执行结束, 处于执行状态。最后,作业执行结束到撤销 之间,作业处于完成状态。
用户在作业说明书中提出的资源要求称为静 态申请。
2019/8/9
Operating System
10
作业状态转换
提交进入
输入数据
……
/*
第二作业步,将 PL/1的输出与库程 序连接(仅当上一 步没有4级以上严 重编译错误时才执
行该作业步)
第3作业步,执 行用户程序
2019/8/9
Operating System
20
节四 作业控制
其中用到的作业控制命令有:
A、作业标识命令:标识作业开始 //[作业名] JOB 操作数(以逗号分隔)
作业控制语言是批处理系统为用户提供的作 业控制接口。
目前存在两种形式作业控制语言
类似汇编语言(如IBM370)的作业控制语言 类似高级语言(如1900系列的George语言)的 作业控制语言
2019/8/9
Operating System
18
节四 作业控制
Donovan所著“操作系统”中所用的典型例:
2019/8/9
Operating System
22
节四 作业控制
二、联机作业控制:
通过人—机会话方式,用户直接控制作业运行。
用户登录(控制台登录或远程登录),由系统 自动执行一些命令脚本后,并进入shell(字符或 GUI界面),接受用户的命令和操作,最后退出系 统
1. 命令行
命令行:一行可有一个或多个命令:每次一行, 包含一个或多个命令。shell给出提示符时可输入, 以回车键提交。一个命令可有命令参数:格式包括 选项/开关 (option/switch)或参数(argument)。
B、执行命令:标识作业步开始,指出执行的程序名
PROC=过程名
//[作业步名] EXEC 程序名
其它参数
PGM=程序名
其中必须选择一项
C、数据定义命令:描述作业使用的数据文件
//数据集名 DD 以逗号分隔的操作数
Ti
)x— n
n:作业数
Ti:作业i的周转时间:Ti=Tci-Tsi Tci:作业i的完成时刻 Tsi作业i的提交时刻
作业平均加权周转时间。
n
W=(∑
—ti
1
)x—
i=1 T
n
ri
Tri:某作业i的实际执行时间
2019/8/9
Operating System
14
节三 作业调度
4. 系统进行作业调度的决策因素 根据上面所述的调度性能的衡量,以及系统所要达 到的目标, 为了使系统能自动进行作业调度,下面给 出调度所依据的准则 :
后备 收容队列
调度 选中
调入内存 CPU执行
运行
SPOOLing 系统IN模块
作业生命周期
2019/8/9
Operating System
完成 SPOOLing
系统OUT模块
11
节三 作业调度
作业调度:
检查系统是否满足作业的资源要求,并按一 定算法选取作业。作业调度也称为宏观调度。 调度实质上是一个策略问题 ,设定的目标往往 是相互冲突的。
HOME=/home/thisuser 此外,在执行新进程时(UNIX中是exec()调用),可以给出 环境变量的初始值,通常就是直接复制当前进程的所有环境 变量--继承。
通过系统调用接口也可使用系统命令。 C语言里的system()函数:调用shell来完成命令 如 UNIX系统: system(“cp -r doc /tmp”)
作业基本情况、
作业控制、
作业资源要求的描述;
它体现用户的控制意图。 如:预计运行时间、要求的 资源情况、执行优先级等。
2019/8/9
Operating System
作业说明书的主要内容
3
作业和用户接口
作业基本情况:用户名、作业名、编程语言、最大处理时 间等;
作业控制描述:作业控制方式、作业步的操作顺序、作业 执行出错处理;
2019/8/9
Operating System
23
节四 作业控制
命令分成:内部命令和外部命令。
内部命令:直接由shell本身完成,功能简单、使用频繁; 如:DOS的copy命令。 外部命令:运行相应的可执行文件(后者功能或版本与 shell无关) 如:DOS的xcopy命令。
利用参数替换可简化命令输入:通配符(?, *)用于匹 配一组文件名。
1. 作业调度算法的评价因素
单位时间内运行尽可能多的作业; 使处理机尽可能保持“忙碌”; 使各种I/O设备得以充分利用; 对所有的作业都是公平合理的。
2019/8/9
Operating System
12
节三 作业调度
2. 作业调度算法
先来先服务:按作业到达先后进行调度,即启动等待时间 最长的作业。 短作业优先:以要求运行时间长短进行调度,即启动要求 运行时间最短的作业。 高响应比优先:响应比高的作业优先启动。
第七章
作业和用户接口
袁俊
2019/8/9
Operating System
1
作业和用户接口
一、作业相关概念
作业是指在一次应用业务处理过程中,从输入开始到输出 结束,用户要求计算机所做的有关该次业务处理的全部工 作。 根据操作过程:作业由不同的、顺序相连的作业步组成。 作业步是在一个作业的处理过程中,计算机所做的相对独 立的工作。 作业流:批处理系统中作业按某种算法通过输入设备进入 输入井中形成作业流。 作业的逻辑组织:
直接耦合作业输入方式
一个过程负责从外部设备把信息读入缓冲区;
另一个是写过程,负责把缓冲区的信息送到外存输入井 中。
2019/8/9
Operating System
7
节二 作业的建立
2019/8/9
SPOOLING系统
Operating System
8
节二 作业的建立
通道:通道是一个独立于CPU的专管输入/输出的处 理机,它控制外设或外存与内存之间的信息交换。 网络输入方式. 二、作业控制表的建立(JCB Job Control Block) 在运行过程中,系统对作业进行管理的必要信息:
操作数包括数据文件名、属性、要求的输入/输出设备、需要的外部存储空间等。
2019/8/9
Operating System
21
节四 作业控制
2、批处理 在微机和工作站系统,常常实使用批处理方 式编写作业说明书。批处理命令集是存放在 一个特殊的批处理文件中(DOS的 .bat文 件)。
操作系统提供提供支持批处理的一套控制命 令,控制成批命令执行。
15
节三 作业调度
5. 多道程序对平均周转时间的影响 作业流在多道环境下运行:
平均周转时间、带权平均周转时间比单道环境下 都有明显改善 。 不是任意作业组合都能改善调度性能,有时甚至 可能变坏 。
2019/8/9
Operating System
16
节四 作业控制
作业在OS控制下运行。包括作业的输入、 作业在系统中的运行、故障处理以及作业的最 终输出。
作业控制是用户与OS的接口。
一、脱机作业控制:
用户提交作业说明书,交操作人员对整个 作业的运行进行控制。在批处理系统中的运行 方式。
2019/8/9
Operating System
17
节四 作业控制
1、作业控制语言(JCL) 作业说明书是由系统提供的作业控制语言 (Job Control Language — JCB)编写的操 作说明书。
VOLUME=SER=0123,
DCB=(RECFM=FB, LRECL=80,BLKSIZE=800)
DD *
第一作业步, PL/1编译
…
PL/1程序
…
2019/8/9
Operating System
19
节四 作业控制
//STEP2 EXEC //OUTPUT DD //INPUT DD //SYSLIB DD /*
2019/8/9
Operating System
5
节二 作业的建立
一、 作业输入方式
作业输入方式可分为6种:
联机输入方式:用户和系统通过交互会话来输入 作业。
脱机输入方式(又称预输入方式):用户通过外围 机的联机方式把作业首先输入到后援储存器,然后, 用户把装有输入数据的后援储存器拿到主机的高速 外围设备上和主机连接,从而在较短时间内完成作 业的输入工作。
2019/8/9
பைடு நூலகம்
Operating System
4
节二 作业的建立
一个作业的建立过程包括两个子过程:
作业的输入,
JCB的建立。
作业的输入指将作业的程序、数据和作业说 明书从输入设备(例如键盘)输入到外存,并形成 有关初始信息。显然,在作业未输入计算机 前,计算机内没有任何有关作业的信息,系 统也无法预知作业在何时开始输入。从 而.必须有外部启动信号通知系统调用相应 的输入管理程序来负责控制和完成作业的输 入工作。
作业资源要求描述:处理时间、优先级、内存空间、外设 类型和数量、实用程序要求等。
通常,作业说明书方式主要用在批处理系统中,且 各计算机厂家都对自己的系统定义有各自的作业说 明书的格式和内容。因此,上述作业说明书的内容 因计算机而异。不过,无论何种作业说明书,它们 都根据系统提供的控制命令和有关参数按照一定的 格式进行编写。
如:UNIX的cp命令:当前目录上有两个“1.tar” 和“2.tar”时,“cp *.tar /tmp”等同于“cp 1.tar /tmp; cp 2.tar /tmp” 按照功能,命令可大致分为以下几类:
2019/8/9
Operating System
24
节四 作业控制
(1) 环境设置。 这些命令用来改变终端用户的所在位置、执 行路径等。 环境变量也可以作为shell的参数,如命令提示符 的式样,外部命令的查找目录路径等。 如:PATH=/bin:/usr/bin:/usr/sbin:.
直接耦合方式:把主机和外围低档机通过一个公用 的大容量外存直接耦合起来。
2019/8/9
Operating System
6
节二 作业的建立
SPOOLING系统:又译 为:“外围设备同时联 机操作”。多台外围设 备通过通道或DMA器件 和主机与外存连接起来。 作业的输入输出过程由 主机中的操作系统控制。 操作系统中的输入程序 包含两个独立的过程:
//
//STEP1 //OUTPUT
//INPUT /*
JOB NAME=DONVAN,
ACCOUNT=6.251, TIMELIMIT=5 , PRIORITY=8,
EXEC PL1
记录格式是定长记录,成 块形式; LRECL=80逻辑
记录80B长度, 数据块大小800B
DD UNIT=TAPE9,
LINKER,COND=(4,LT,STEP1) DSNAME=REAL.LIVE.FILE DSNAME=&STEP1.OUTPUT DSNAME=PL1.LIBRARY
//STEP3 EXEC REAL.LIVE.FILE,MEMORY=100K //OUTPUT DD UNIT=PRINTER //INPUT DD *
程序 数据 作业说明书。
系统通过作业说明书,控制文件形式的程序和数据,使 之执行和操作。
2019/8/9
Operating System
2
作业和用户接口
二、作业的组织
作业由程序、数据和作业说 明书三部分组成。由作业说 明书,在系统中将生成一个 称为作业控制块(JCB)的 表格。
作业说明书(Job exponent) 包括:
响应比=(等待时间+估计运行时间)/ 估计运行时间 高优先级优先:由用户指定作业优先级,优先级高的作业 先启动。
实际的作业调度算法可能会是多种算法的综合。 作业调度算法应用举例
2019/8/9
Operating System
13
节三 作业调度
3. 调度算法性能的衡量 作业平均周转时间
n
1
J=(∑
i=1
作业到达时间; 预先为作业确定的优先级;
这两个因素在作业提交之后,系统可以测定的、需 要考虑的其他因素有:
作业所需的CPU的时间C; 存储要求M; 打印输出的行数L; 其他的资源需求;
为了简单,这里只考虑C,M,L三个因素。显然这 些值只能根据用户提交的作业说明书估算得到。
2019/8/9
Operating System
1)作业名 2)估计执行时间 3)优先数(用于调度) 4)作业说明书文件名 5)程序类型(需调用的系统程序) 6)资源要求:(静态,或中间可以随作业步变化--效 率不高;动态分配 7)作业状态:提交、后备、执行、就绪、等待、完成。
2019/8/9
Operating System
9
节二 作业的建立
从作业输入请求开始到建立JCB表,作业处于
提交状态。在建立JCB表之后到被作业调度程
序选中进入内存,作业在作业等待队列中处
于后备状态。作业进入内存后到执行结束, 处于执行状态。最后,作业执行结束到撤销 之间,作业处于完成状态。
用户在作业说明书中提出的资源要求称为静 态申请。
2019/8/9
Operating System
10
作业状态转换
提交进入
输入数据
……
/*
第二作业步,将 PL/1的输出与库程 序连接(仅当上一 步没有4级以上严 重编译错误时才执
行该作业步)
第3作业步,执 行用户程序
2019/8/9
Operating System
20
节四 作业控制
其中用到的作业控制命令有:
A、作业标识命令:标识作业开始 //[作业名] JOB 操作数(以逗号分隔)
作业控制语言是批处理系统为用户提供的作 业控制接口。
目前存在两种形式作业控制语言
类似汇编语言(如IBM370)的作业控制语言 类似高级语言(如1900系列的George语言)的 作业控制语言
2019/8/9
Operating System
18
节四 作业控制
Donovan所著“操作系统”中所用的典型例:
2019/8/9
Operating System
22
节四 作业控制
二、联机作业控制:
通过人—机会话方式,用户直接控制作业运行。
用户登录(控制台登录或远程登录),由系统 自动执行一些命令脚本后,并进入shell(字符或 GUI界面),接受用户的命令和操作,最后退出系 统
1. 命令行
命令行:一行可有一个或多个命令:每次一行, 包含一个或多个命令。shell给出提示符时可输入, 以回车键提交。一个命令可有命令参数:格式包括 选项/开关 (option/switch)或参数(argument)。