再上一篇:第四章 作业控制子系统(Job Entry Subsystem)
上一篇:4.1.1 JES2 的配置
主页
下一篇:4.1.3 JES2的客户化
再下一篇:4.1.4 与 JES2 进行交互
文章列表

4.1.2 JES2 的功能

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

本节主要介绍 JES2 在系统中所完成的主要功能,包括对系统中大部分作业处理的六个 阶段进行管理,以及 JES2 的主要功能。
作业处理的六个阶段
在 MVS 系统中基础控制程序和 JES2 共同分担对作业的管理任务。JES2 负责将作业输 入系统,然后由基础控制程序负责为作业分配设备并真正控制程序的运行,最终 JES2 负责 管理作业的输出。下图简单图示了作业处理的六个阶段

图 4-6 作业处理的六个阶段
在上图中我们可以发现多个作业队列,在这些作业队列中分别包含了处于不同阶段的作业。 例如:

z 转换队列中包含等待运行的作业

z 运行队列中包含正在运行的作业

z 输出队列中的作业在等待它们的运行结果产生 z 硬拷贝队列包含所有已经产生运行结果的作业 z 清除队列包含所有等待被清除的作业

1. 输入阶段

JES2 通过读卡机、远程终端等输入设备接收作业到系统中,这些作业是以输入数 据流的方式存在。除了传统的输入设备外,输入数据流还可以来自于其它程序的输出、 网络上的其它节点以及内部读卡机。内部读卡机实际上是一个用来模拟真正读卡机功能 的程序,其它的程序可以通过它递交作业、向 JES2 发送命令。任何在 MVS 系统中运 行的作业都可以通过内部读卡机将输入数据流传递给 JES2,并且 JES2 可以通过多个内 部读卡机同时接收多个作业。

MVS 可以通过在系统初始化时创建的内部读卡机向 JES2 传递多种信息,如所运行 任务的作业控制语言、START 和 MOUNT 命令、TSO LOGON 申请等。

在 JES2 接收输入数据流的同时,也为每一个作业分配一个作业标识符并将每一个 作业的 JCL、JES2 的控制语句和作业的输入数据 SYSIN 存放在 DASD 数据集中,这些 数据集被称为 SPOOL 数据集。JES2 就是从这些 SPOOL 数据集中选择作业进行处理。
2. 转换阶段
JES2 通过一个转换程序对每一个作业的 JCL 语句进行分析。转换程序读出作业的 JCL 语句,并将其中用来调用库程序的语句用程序库(如 SYS1.PROCLIB)中的 JCL 语句 进行替换,然后将结合后的 JCL 程序转换成 JES2 和 MVS 的调度模块都可以识别的转 换/解释文本。JES2 将这些转换/解释文本存储在 SPOOL 数据集中。如果在转换过程中 发现 JCL 语法错误,JES2 将发送消息,然后相关作业将跳过运行阶段进入输出阶段的 作业队列;如果没有发现 JCL 语法错误,相关作业将进入运行阶段的作业队列,根据 作业类别和作业优先级等待运行。JES2 支持多个转换程序同时运行,因此作业并不能 够完全按照先进先出的原则进行处理。
3. 运行阶段
在运行阶段,JES2 响应来自于 MVS 初始器的请求,从作业队列中选择等待运行的 作业并将它们送到 MVS 中。通过确认作业队列中所有作业的当前处理阶段,JES2 可以 通过系统对作业的流程进行管理。
JES2 的作业调度:为了能够对作业队列中的作业进行处理,JES2 必须和 MVS 的 初始器相互配合。一个初始器实际上就是一个系统程序,在系统初始化时这个系统程序 可以被操作员用命令激活也可以随着 JES2 的启动而自动启动。一个初始器可以启动一 个作业,允许其和系统中正在运行的其它作业竞争系统资源。
当初始器需要启动一个作业时便从 JES2 那里申请,JES2 则根据初始器所关联的作 业类和这些作业类被搜索的优先权级别选择作业。当 JES2 选择了一个作业以后,便将 这个作业传递给初始器。通过将每个初始器关联一个或多个作业类,我们便可以很好的 控制作业的选择,使系统的资源得到更有效的利用。
当JES2 从所有可选的作业当中选择了最合适的作业并将这个作业传递给初始器之 后,初始器便调用解释器,解释器根据转换器产生的转换/解释文本为作业创建一个控 制块。
接下来,初始器根据作业的 JCL 中第一步的要求为作业分配资源,在确认所有被 分配的资源都有效后,初始器便运行 JCL EXEC 语句所指定的程序。
优选权增长:当所有的初始器全部满负荷时,系统中某些类别作业的吞吐量便会 降到正常的期望值之下。为了解决这个问题,JES2 使用了附加的调度功能,优先权增 长。优先权增长可以帮助那些已经等待运行的作业在刚刚进入系统的作业之前获得一个 被选择的机会。通过优先权增长,系统可以提高那些等待运行作业的优先权级别。作业 等待的时间越长,它的优先权级别就会越高,直到达到一定的限制,那么作业被选择运 行的机会便越大。
JES2-基础控制程序的交互:JES2 和基础控制程序不断地进行沟通以控制系统的 处理过程,这种沟通是通过子系统界面来完成的。子系统界面允许 MVS 向 JES2 发出 服务申请。例如,可以申请 JES2 去查找一个作业、处理消息或命令、打开或访问一个 SYSIN 或 SYSOUT 数据集。反过来,基础控制程序可以注意到 JES2 的事件,如消息 的发送、操作员的命令、作业的结束和任务的结束等。
4. 输出阶段

JES2 控制所有的 SYSOUT 处理。SYSOUT 是系统产生的输出,也就是,系统为一 个作业或由一个作业产生的所有输出结果。这个输出结果中包括所有必须被打印的系统 消息和用户申请的必须被打印的数据集。在一个作业运行结束后,JES2 根据输出的类 别和要求的设备配置对作业所有输出的特征进行分析,然后根据相同的特征将输出分 组。这些分组后的输出将在 JES2 的队列中等待打印。

5. 打印阶段

JES2 根据输出的类别和优先权等条件从输出队列中选择输出结果进行处理。位于 输出队列中的输出结果分成两类,本地处理和远程处理(RJE 工作站或网络上的其它节 点)。JES2 对不同类别的输出结果进行不同的处理。

$ 本地输出:

当输出在本地或者远程接入的设备上处理时,JES2 使用这些本地或者远程接入的设 备作输出。JES2 将作业的输出数据集放在输出队列中排队。本地接入或者是通过 RJE 接入的活动设备,选择最符合自身特征的输出数据集进行输出。

$ NJO(Network Job Output)输出:

要通过另一个 JES2 节点的作业输出放入网络输出队列。JES2 根据作业的权限和到达 目标节点线路状况选择一个作业输出来进行传输。在目标接点发出已收到的信号后, 传输 JES2 节点释放输出所使用的资源。
在处理完作业的的所有输出后,JES2 将作业放入清除队列。
6. 清除阶段
当作业的所有处理都结束后,可以通过 JES2 释放分配给作业的 SPOOL 空间,是 这些空间能够分配给其它作业。JES2 通过发送一条消息给操作员指出作业已经被从系 统中清除。
JES2 的性能与功能

JES2 是连接TSO/E(Time Sharing Options/Extensions)和 MVS 的桥梁。JES2 通过 JES2

的初始化语句和 JES2 命令,提供数据处理和系统设置管理能力。

JES2 提供以下主要的功能,来管理 MVS 中作业的输入输出。所有的这些都在系统程序 员的控制之下。

$ 从 MVS 外得到作业

$ 调度作业,优化系统效率

$ 卸载作业和备份系统

$ 高级打印输出

$ 安全管理