再上一篇:4.3 JES2 的日常操作
上一篇:4.3.1 JES2的配置管理
主页
下一篇:4.3.3 JES2中的其它功能
再下一篇:4.3.4 关于 SDSF 的使用(System Display and Search Facility)
文章列表

4.3.2 JES2的作业管理

IBM S390 系统管理基础(zSeries,IBMSystemz, z/VM,zOS等操作系统使用,命令的参数与用法等)

在 MVS 中包含四种基本的作业类型:

z 系统的地址空间(即系统作业)

z 子系统

z 已启动的作业

z 批处理作业

在四种基本的作业类型中,JES2 仅仅对其中的三种进行管理。大部分的子系统和所有 的系统地址空间对于 JES2 来说是不可见,这一点我们可以通过 JES2 的命令$D A 来查看 JES2 中的所有作业号便可以知道。MVS 的系统地址空间一般仅仅通过 MVS 的主调度器进 行启动,不需要 JES2 进行干预,仅仅需要很少的与操作员的交互。子系统一般通过 MVS 的初始化过程来启动,也可以在任何时候通过 MVS 的 START 命令由操作员来启动。部分 子系统在 JES2 中是可见的,JES2 被定义为系统的主要子系统,所有其它的系统都是辅助子
系统。那些通过 MVS 的 START 命令启动的但没有被定义为子系统的作业,对于 JES2 来说 都是可见的,我们把这样的作业称为已启动的作业,例如 TSO、VTAM、外部书写器、 MVS/JES2 初始器和 CICS。这样我们知道 TSO 用户实际上是一类特殊的已启动作业。除了 上面提到的作业以外,所有其它的作业和批处理作业全部由 JES2 来进行管理。
管理 JES2 的输入设备

JES2 中的作业输入可以来自于以下几个方面:

z 本地读卡机

z 远程作业入口

z 网络作业入口

z 批处理作业所使用的内部读卡机

z MVS 的 START 命令所使用的内部读卡机 z TSO 的 SUBMIT 命令所使用的内部读卡机 z SPOOL 的卸载设备

与这些资源相关的 JES2 命令主要有以下几个:

… $S —— 启动

… $P —— 停止

… $Z —— 中断、暂停

… $C —— 取消

… $D —— 显示

… $T —— 修改

JCL 的转换
用户所递交的 JCL 保存在 SPOOL 中的队列中等待转换,MVS 的转换程序将 JCL 中引 用的已编目过程嵌入到用户的 JCL 当中,被扩展后的 JCL 重新被写回 SPOOL。如果在 JCL 中发现严重的错误,用户的作业将会失败,该作业被直接送到输出队列。
在转换过程中,将会为作业生成三个输出数据集 JESMSGLG、JESJCL 和 JESSYSMSG, 被别用来存放作业日志、扩展后的 JCL 和转换器的消息。用户可以通过查看这三个数据集 的内容来了解作业的运行情况。
对运行中的作业进行管理
在 JES2 中作业根据所拥有的作业类在运行队列中排队,系统为每一个作业类建立一个 队列。一共可以有 36 个不同的作业类,分别用字母 A~Z 和数字 0~9 来表示。在每个作业类 的队列中根据作业的优先级进行排队,用户可以通过在 JES2 中设置参数或在作业 JCL 的 JOB 语句中设置 PRTY=参数来指定作业的优先级。在 JES2 中包含有初始器程序,JES2 可 以将一个或多个作业类分配给一个初始器,与一个初始器关联的多个作业类便构成了一个列 表。当一个初始器空闲时便会向 JES2 请求作业,JES2 便会从列表中第一个作业类的队列中 根据优先权等状态选择一个作业交给初始器处理。如果在第一个作业类的队列中没有合适的 作业则依次搜寻列表中的其它作业类的队列,直到选择出一个合适的作业或列表中所有作业 类的队列都已经被搜索过为止。如果没有选择初合适的作业则初始器处于等待状态。在 JES2
中支持将一个作业类同时与多个初始器相关联。
通过 JES2 的$H 命令可以对队列中的作业执行保持操作,处于保持状态的作业不能够参 加选择。$H 命令可以根据以下的方式对作业进行操作:

… 对所有的作业

… 处于 MAS 的系统结构下的特定处理器上的作业
… 根据 JES2 作业号确定一个作业或一组作业

… 对特定作业名的作业

… 根据特定的作业类

用户可以通过$A 命令对处于保持状态的作业执行释放操作,无论这种保持状态是通过

$D 命令还是由其它功能对作业执行的。下面是一些$D 和$A 命令的例子:

$H A,ALL —— 对所有的作业执行保持操作

$A A,ALL —— 对所有的作业执行释放操作

$H ‘ACCTRPT’ —— 对特定的作业‘ACCTRPT’执行保持操作

$A ‘ACCTRPT’ —— 对特定的作业‘ACCTRPT’执行释放操作

$H Q,C=AGHX —— 对作业类 AGHX 执行保持操作

$A Q,C=CFJ —— 对作业类 CFJ 执行释放操作 在作业的运行过程中,可以根据以下方面通过$C 命令将作业取消掉:

… 根据作业的作业号或作业名

… 取消一定范围内的作业

… 通常在 JES2 的取消操作的同时都包含了打印操作,可以通过在取消命令上添加参 数的方法取消关联的打印操作
… 取消一个作业,对作业的内存进行转存 下面是两个$C 命令的例子:

$C J2980,P —— 取消作业 J2980,并取消关联的打印操作

$C ‘ACTLST’ —— 取消作业 在作业运行的过程中,有些情况下往往需要对作业执行重启操作。需要执行重启操作的

作业必须属于一个允许重启操作的作业类。对于一个不支持重启操作的作业执行重启命令

$E 会导致失败。对作业的重启操作可以有以下两种方式:

… 重启/保持

- $H ‘ACCTLIST’

- $E ‘ACCTLIST’

… 重启/取消

- $E ‘ACCTLIST’

- $C ‘ACCTLIST’

下面是一个对运行中的作业进行重启操作的例子:

$H J12345

$E J12345

对运行中的作业,用户也可以修改它的属性如:

… 作业的作业类

… 作业的优先级

… 对处理器的选择 下面是两个修改操作的例子:

$T J7319,C=Z —— 将作业 J7319 的作业类该为 Z

$T J12345,P=12 —— 修改作业 J12345 的属性

当用户有一些关键的作业需要运行,但如果此时相关的系统不能够被使用,这个时候就 需要通过$R XEQ 命令将作业发送到其它的系统节点上去运行。如:

$R XEQ,R=N2,D=LOCAL

JES2 的输出处理过程 当一个作业运行完成后,接下来便是对作业运行结果的打印处理。在这个过程中将会建
立最终的输出数据集。如下图,这些输出数据集的特征根据三个方面的定义来确定:

z 通过 JES2 的初始化语句可以定义输出数据集的缺省属性

z JES2 的用户控制语句,即 JECL(Job Entry Control Language) z MVS 的 JCL 语句中的 SYSOUT=和// OUTPUT 参数 通过这些方面可以唯一确定作业的输出结果的特征。JES2 负责对所有作业的输出结果

进行调度,送往打印机或打孔机进行输出。

JCL 中的定义 JES2 的用户控制 JES2 的初始化参数

//O1 DD SYSOUT=A,

// DEST=LA,

// FORMS=2PRT,

// CHARS=GS15

//O2 OUTPUT……

/* OUTPUT…………

/*ROUTE PRINT……

/*XMIT MVS1.TSOUR1

OUTDEF………… OUTCLASS(A) OUTPRTY

FORMS CARRIAGE(FCB) FLASH DESTINATION

作 TRAIN(UCS)
业 BURSTER
的 WRITER NAME
出 GROUPID
元 “ADDRESS”

SETUP REQUIREMENTS

DATA TYPE

GROUPID.JOE1.JOE2

根据对输出结果的处理方式,我们将 JES2 队列中的输出结果分为四种基本的类型:

¾ 通过运行在 JES2 的地址空间中的书写器程序或通过 JES2 控制的 FSS 书写器程序 将结果送到打印机和打孔机进行处理。

¾ 通过 MVS 中的一个特殊程序 XWTR(External Writer),这个程序从 SPOOL 中读取 数据,然后将数据在书写器支持的任何设备上输出。

¾ 通过 JES2 的网络作业入口的功能,将结果发送到其它的网络节点上。

¾ 作业的输出结果将被保持在输出队列中,TSO 用户可以通过他们的终端对结果进

行浏览和操作。 通常,输出数据集和输出的过程都在作业完成运行后被产生和被处理。但有的作业可以
在运行的同时便产生输出数据集并进行输出,这种方式被称为 SPIN-OFF 处理。在 SPIN-OFF 的方式下,用户可以在打印机和处理器上同时拥有同一个作业。在 MVS/JES2 的 4.2 版本下 支持 SEGMENT 的打印方式,这种方式允许对仅输出数据集的一部分进行处理和打印。
管理 JES2 的打印机
在 JES2 中提供两种类型的书写器程序,一种是运行在 JES2 的地址空间中的用来支持 本地设备和远程作业入口设备的;另外一种是由 JES2 控制但作为一个已启动的任务运行在 自己的地址空间中的 FSS 书写器程序。FSS 书写器程序支持通过一些特殊的程序,如 PSF(Print Services Facility),的页方式打印;两种类型的书写器程序都支持行方式打印。
通过 JES2 的$S 命令可以启动一个打印机或打孔机,如$S PRT1。

$P 命令可以在当前的输出单元完成后停止一个输出设备,如$P PRT1。

$Z 命令将会立即中断一个设备的操作,当前的输出单元仍然保持在设备中,如$Z PRT1。

$C 命令可以取消设备中当前的输出单元,但不会将相关的作业取消,如$C PRT1。

$T 命令用来修改设备的属性。 对于打印机上的作业的输出结果,用户可以根据需要对打印单元执行退后和前滚的移动

操作。移动到起始处将会导致对结果的重新打印,移动到结尾处将会导致相关数据集被标志 为已完成。下面是一些这方面的例子:

$B PRT1,D —— 退后至数据集的起始处

$B PRT1,C —— 退后至最近一个检查点

$B PRT1,10 —— 退后至第 10 页

$F PRT1,D —— 前滚至数据集的结尾处

$F PRT1,10,C —— 前滚至从最近一个检查点起的第 10 页

$F PRT1,10 —— 前滚至第 10 页

$E PRT1 —— 将当前打印单元重新排队,从起始处开始打印

$N PRT1 —— 重复打印当前打印单元

$I PRT1 —— 从检查点开始打印或从中断处开始打印 作业的输出结果保存在输出队列中,我们可以把输出队列从逻辑上分为五个:LOCAL、

REMOTE、NETWORK、HOLD 和 USER。通过$L 命令可以列出这些队列中的输出单元, 通过$D F 命令可以显示作业的硬拷贝数据集。