1、大型机高级系统管理技术第4章 作业控制子系统第4章 作业控制子系统 MVS操作系统通过JES子系统对系统中绝大多数的作业进行控制和管理,包括从系统外部接收作业、对系统中的作业进行调度、管理作业的输出等。在定制MVS系统时客户可以选择使用两个不同的JES子系统:JES2和JES3。第4章 作业控制子系统 在MVS系统中,一个作业的生命期分为六个阶段:输入(Input)转换(Conversion)运行(Processing)输出(Output)打印(Print/Punch)清除(Purge)第4章 作业控制子系统JES2和JES3 基本工作类似,将作业读入系统、转换为系统可识别的格式、调度作业的运
2、行、处理作业的输出、最终将作业从系统中清除。JES3针对多处理器4.1 JES2的简述 JES2所支持的系统配置 JES2的功能 JES2的客户化 JES2的交互(JES2的消息诊断,系统控制)4.1.1 JES2的配置 几个问题:JES2是如何管理它的工作的?JES2的数据保存在哪里,JES2又是如何保证数据的完整性的?JES2支持哪些处理系统的配置类型?4.1.1.1 JES2中数据集的管理JES2中两种类型的数据集:nSPOOL数据集n检查点数据集所有这些数据集都保存在DASD设备上(direct access storage devices)。4.1.1.1 JES2中数据集的管理 S
3、POOL(Simultaneous peripheral operations online)SPOOL在本课程中一般解释成是系统对作业处理的一个过程,包含几层含义:使用DASD设备上的存储空间作为一个缓冲存储器,用来降低在外围设备和程序之间传递数据的延迟。将输入流读到获将输出流写到一个中间设备上,等待接下来的处理或输出。当系统忙于其它的工作时,用来执行一些操作,如打印。有些情况下我们也使用SPOOL这个词来表示那些包含了SPOOL数据集的DASD设备。4.1.1.1 JES2中数据集的管理 SPOOL数据集 JES2将所接收的作业(包括JCL、作业的控制语句、作业的数据)写到一个SPOOL数
4、据集中,等待系统空闲时在处理。SPOOL数据集实际上是所有输入的作业和JES2管理的系统输出的一个存储仓库。4.1.1.1 JES2中数据集的管理检查点数据集:描述一组JES2维护的位于DASD设备或一些相关设备上的数据集。检查点数据集同样包含了JES2中作业队列和输出队列的一个备份,这些备份信息中包含了系统中有哪些作业正在被处理,以及每一个作业被处理到哪一步。同SPOOL数据集同样,位于一个多配置系统检查点数据集可以被系统中的所有成员访问,但任何一个时刻只能有一个成员可以控制这些数据集。JES2定期对检查点数据集进行更新。检查点数据集中的数据除了在JES2或系统发生故障时使用外,这些数据对于
5、JES2中作业的处理也是非常关键的。4.1.1.1 JES2中数据集的管理检查点处理:定期地将成员系统中内存中的作业和输出队列中的内容复制到检查点数据集中。检查点重构会话 一种动态的处理方法,通过这种方法当前的检查点数据集的配置情况可以被更改。4.1.1.2 JES2的配置JES2支持的系统配置:n单系统结构(单处理器和一个JES2)n 多系统结构(最多可以包含32个处理器并且每个处理器都可以拥有自己的JES2)n复合JES系统(多套JES2存在于一个MVS中)n 远程作业入口工作站(远端接入系统)n NJE结构(多个单系统或多系统的通过网络连接的结构)4.1.1.2 JES2的配置 远程作业
6、入口(RJE)的方法可以让本地的JES2处理系统的配置得以扩展,使用户不再局限于在一个地理位置上工作。远程作业入口RJE是通过在一个不同的地理位置上定义一些的远程设备(如作业输入终端和输出设备等)的方法来实现的,这些远程设备通过卫星、电话线路等远程通信手段连接到MVS/JES2的主机上。4.1.1.2 JES2的配置 网络作业入口(NJE)能将地理上分离的系统通过网络连接起来,进行通讯,传递作业,将输出送往任一个连接的输出设备。在这种方式下,网络中可能存在多个MVS/JES2系统,也可能存在非MVS/JES2系统,不同的系统之间可以进行资源的共享。4.1.2 JES2的功能 作业处理的六个阶段
7、输入(Input)转换(Conversion)运行(Processing)输出(Output)打印(Print/Punch)清除(Purge)4.1.2 JES2的功能4.1.2 JES2的功能 图中包含了处于不同阶段的作业,例如:转换队列中包含等待运行的作业运行队列中包含正在运行的作业输出队列中的作业在等待它们的运行结果产生硬拷贝队列包含所有已经产生运行结果的作业清除队列包含所有等待被清除的作业4.1.2.2 JES2的性能与功能 连接TSO/E(Time Sharing Options/Extensions)和MVS的桥梁。通过JES2的初始化语句和JES2命令,提供数据处理和系统设置管理
8、能力。JES2提供以下主要的功能,来管理MVS中作业的输入输出。所有的这些都在系统程序员的控制之下。从MVS外得到作业调度作业,优化系统效率卸载作业和备份系统高级打印输出安全管理4.1.3 JES2的客户化JES2可以根据用户的运行要求进行配置:在创建JES2的初始化数据集时可以根据自己的需求去定义基本的配置 JES2还提供了如退出点程序和双表结构等功能对配置进行修改4.1.3.1 JES2的初始化数据集 存放在数据集SYS1.VnRnMn.SHASSAMP的成员HASIPARM中 通过大约70条初始化语句,用户可以控制所有的JES2功能 在JES2的初始化数据集中提供了许多定义的规范。4.1
9、.3.1 JES2的初始化数据集 每一条初始化语句都包含一组用于定义一项JES2功能的参数,其中大部分的JES2初始化语句都是可选的。如果用户不需要对特定的的功能进行定义或者重新定义就可以不去修改相应的初始化语句。在第一次安装JES2时仅仅需要提供很小一部分的初始化语句就可以了。4.1.3.1 JES2的初始化数据集 JES2中提供了一个作为例子的初始化数据集。这个例子存放在数据集SYS1.PARMLIB中,其中包含了所有的JES2初始化语句和所有参数的缺省值。使用CBPDO(Custom Built Product Delivery Offering)来创建系统,CBPDO会帮助用户创建一个
10、更为实用的初始化集合。4.1.3.1 JES2的初始化数据集JES2提供对配置进行修改的方法:JES2的双表功能。预定义的退出点程序。安装时定义的退出点程序。4.1.3.2 JES2的双表结构 两个表格一个是JES2的表格,另一个是用户的表格 JES2的表格中对各种功能和处理过程进行了缺省的定义。用户表格,用户可以对这种表格中的定义进行扩充、修改和删除。4.1.3.3 JES2中预定义的退出点程序 在JES2处理的过程中,JES2的源代码会在一些特定的位置调用相应的退出点程序,这些特定的位置我们称为退出点。在JES2中一个退出点程序可以关联一个或者几个退出点。在JES2中最多可以有256个退出
11、点程序 其中系统已经预先定义了一部分的退出点程序,用以支持最基本功能的客户化。4.1.3.3 JES2中预定义的退出点程序 退出点程序支持JES2客户化的范围很广,包括:定义用户自己的打印分隔页检查或修改由TSO/E用户递交的作业修改或不接受用户发出的命令为使用了很多资源的作业定义后备处理过程对远程终端和系统数据集提供口令检查,加强安全管理。4.1.3.4 JES2中自定义的退出点程序 当系统中预定义的退出点程序不能够满足需要时,JES2的退出点程序功能可以允许用户去创建自己的退出点程序。4.1.4 与JES2进行交互 如何使用JES2 当JES2运行时操作员和程序员如何与JES2进行通讯 可
12、以在多大程度上控制JES2的运行 当JES2发生问题时是如何通知操作员的,以及是否有工具来帮助我们更方便地使用JES2的功能。4.1.4.1 JES2的操作方式1.由操作员完成的工作 通过命令对JES2的初始化语句做的大部分定义进行修改。通过实现一些安全管理的机制或对系统进行合理的客户化来限制某个用户或一组用户对操作系统的优先控制 可以通过命令来控制联结不同系统的通讯线,就像控制一个系统的不同部分一样。可以通过命令对初始的网络环境进行重新定义。4.1.4.1 JES2的操作方式停止和启动JES2的运行 热启动,例如当重新定义一个网络作业环境中的部分系统时就必须做一个热启动,对JES2所做的热启
13、动不会影响当前的作业和输出队列中的结果 冷启动,冷启动会将JES2中当前作业和输出队列中的结果清除然后用新的数据重建 4.1.4.1 JES2的操作方式JES2的命令 操作员可以使用这些命令对JES2处理过程进行控制:添加功能和功能子系统更改前面的定义。如对输出的定义;对检查点的动态更改;使安装时定义的突出程序有效;卸载设备;更改打印机的属性;更改作业的属性等。删除部分功能;删除网络中的系统;删除退出点程序;删除诊断跟踪等。在JES2的控制下启动、关闭和暂停设备的使用。为本地打印机、打孔机、读卡机和通讯线分配单元或者为这些设备重新分配单元。显示当前功能和设备的定义4.1.4.1 JES2的操作
14、方式2.自动运行JES2命令 操作员可以定义一条命令或者是一组命令,让这些命令在指定的时间或者每个一定的时间便自动运行。另外一种自动方法是通过如AOC/MVS(Automated Operations Control/MVS)这样的自动工具为系统设置对JES2消息的自动回答。4.1.4.1 JES2的操作方式3.自动完成JES2操作 根据所收到消息的序号、原因码和可变的消息文本就可以对系统当前的运行状态进行解释,这样在一个可编程的控制台上就可以通过运行定义好的命令去响应。有一些产品可以帮助用户去根据所收到的消息自动完成响应的工作,如有NetView和AOC/MVS。AOC/MVS可以用来在一些
15、SPOOL空间短缺的情况下自动运行一些JES2命令;在发生一个严重错误时运行相应的命令去关闭JES2。4.1.4.2 JES2的通讯机制下列工具可以用来检查和判断在JES2环境中是否发生问题 消息:JES2提供了一组消息用来提醒操作员和系统程序员在处理过程中所出现的错误。跟踪:可以记录下与特定功能相关的事件,比如记录每次JES2的初始化和终止或者一个退出点程序的每次执行。IPCS:JES2使用了一种交互式的问题处理功能,我们把它称为IPCS(interactive problem control system)。当用户在进行问题的诊断和恢复时,它允许我们在线地查看JES2的控制块,并可以将这些
16、控制块的内容以方便用户理解的格式进行显示;还允许将我们需要的系统数据转存打印出来。4.1.4.2 JES2的通讯机制1.JES2的消息 JES2自己维护着一套消息和出错信息。每一条消息和出错信息都以$HASP作为前缀,其中HASP是不变的,但我们可以将$符号改为其它字符。在JES2中大约有500条消息,每一条消息都有一个序号,这些序号分布在$HASP000到$HASP949之间,我们可以在OS/390 JES2 Messages中查到这些消息的详细解释。用户可以通过JES2的消息创建工具创建一些有特定含义的消息,用以帮助对系统的控制。4.1.4.2 JES2的通讯机制2.JES2的跟踪功能 可
17、以使用JES2的跟踪功能,在处理的过程中获得特定时刻的寄存器内容和数据。跟踪所产生的结果可以通过两种方式查看。一种是通过跟踪表,这种方式所看到的数据是杂乱、未经过格式化的;另外可以通过将结果转成标准格式的系统输出结果的方式进行查看。4.1.4.2 JES2的通讯机制3.JES2-IPCS格式化 基础控制程序和JES2都支持IPCS(interactive problem control system)的使用。可以通过IPCS将基础控制程序和JES2结合起来,在基础控制程序中访问JES2的特定数据区。IPCS采用了一种菜单界面,用户可以交互地选择所需要查看的控制块,这些控制块的内容被转换成格式化
18、的输出进行显示和打印。4.2 JES2的初始化和配置JES2的初始化控制JES2的处理过程SPOOL卷的配置、管理和性能卷的配置、管理和性能检查点数据集的定义和配置检查点数据集的定义和配置4.2.1 JES2的初始化n JES2的初始化过程是在JES2启动后到JES2可以处理作业之前所完成的设置过程。n为了能够在MVS系统上正确运行JES2,以下的操作步骤是必不可少的:1.安装JES2之前应熟悉对SMP/E(System Modification Program/E)的使用。2.根据程序包提供的说明,使用SMP/E在MVS系统上安装JES2。3.定义JES2的SPOOL数据集和检查点数据集。4
19、.定义JES2的初始化语句。5.在数据集SYS1.PARMLIB的成员IEFSSNxx中通过关键字PRIMARY定义主子系统。6.为JES2定义已编目JCL过程。4.2.1 JES2的初始化 JES2初始化过程:通过操作员的命令(S JES2)或通过数据集SYS1.PARMLIB的成员COMMNDxx 中的IPL自动化过程启动JES2。通过MVS完成下列动作:1.在SYS1.PROCLIB数据集中定位JES2的过程。2.分配在JES2的过程中使用的库,包括那些JES2子系统用来定位其初始化语句的库。3.将控制权交还给JES2子系统,在调用一系列初始化程序之前建立通用的ESTAE保护。处理所指定
20、的启动参数并调用退出点程序0,允许执行预初始化操作。处理当前的子系统界面(SSI)状态,建立必要的控制块为随后的SSI请求做准备。4.2.1 JES2的初始化为初始化过程分配临时控制块以及为JES2的处理过程分配控制块 处理在参数库中或由控制台及退出点程序中输入的初始化语句,并为每一条初始化语句调用退出点程序19。处理所指定的初始化参数,检验参数的有效性及计算变量参数。为初始化语句中定义的设备及这些设备的I/O活动分配控制块。处理相关的初始化过程及检验过程为网络作业入口方式提供支持。处理相关的初始化过程及检验过程为远程作业入口方式提供支持。检验在初始化语句中定义的DASD设备,分析SPOOL卷
21、和检查点数据集并且执行一些必须的操作。(如检查点数据集的前滚)检验MAS系统结构的定义。为命令和消息的传递、MVS的初始器、子系统界面、JES2的跟踪功能及其它JES2所支持的功能分配存储空间控制块。4.2.1 JES2的初始化连接由初始化语句定义的JES2设备和MVS设备的控制块。调用多种MVS服务,如建立界面服务。为那些初始化过程后马上需要的不能够动态添加的JES2处理器分配必须的控制块。产生信息流去请求子系统调用程序54。通过创建所需的缓冲区池和调用退出点程序24完成JES2的初始化过程。JES2的初始化过程中不同的方式:指定JES2为热启动或冷启动 指定JES2是否强制格式化SPOOL
22、卷。通过JES2的已编目过程中的DD语句定义初始化语句的输入数据集。在处理完参数库中的初始化语句后是否暂停JES2,将控制权交给控制台的操作员去输入其它的初始化语句。4.2.1 JES2的初始化在JES2的热启动过程中,通过CKPTDEF语句的CKPT1=或CKPT2=参数定义被访问的数据集。指定检查点数据集的定义是否可以被修改。指定是否为初始化语句打印日志,及为JES2的已编目过程中的HASPLIST DD语句指定的数据集提供相关的诊断信息。指定在初始化过程后是否直接启动通常的处理过程,还是等待操作员的命令去启动。通过OPTSDEF语句指定那些启动选项可以被覆盖。初始化语句参数的修改或启动选
23、项的修改需要整个JES2的冷启动,或需要整个MAS环境的所有JES2的热启动 系统安装后会在数据集SYS1.SAMPLIB中的一些成员中提供各种样例,通过对这些样例的修改,用户可以更容易地建立自己的配置。4.2.1 JES2的初始化成员名内容用途HASIPROC JCL过程样例可以通过将样例修改、复制和移动到其它的过程库中作为JES2的JCL使用HASIPARM JES2的初始化参数模版的样例可以用来在其它的库中为JES2建立可用的初始化参数HASIASM JCL过程样例可以通过将样例修改,在其它库中创建一个可用的JCL库,这些JCL可以在没有SMP/E的环境下对JES2代码的安装进行管理HA
24、SIBLD 使用HASIASM的作业流样例可以通过将样例修改,在其它库中创建一个可用的JCL库,这些JCL可以在没有SMP/E的环境下对JES2代码的安装进行管理HASISMPA 作业流样例修改后可以用来强制SMP/E释放它的管理4.2.1 JES2的初始化 用户可以通过以下的方式对JES2的初始化过程进行控制:创建一个包含初始化语句的数据集。选择在JES2初始化过程中由控制台输入的初始化语句。将JES2的初始化数据集的定义加入的JES2的过程中去。选择JES2的启动选项。通过退出点程序和扫描功能去修改初始化过程的处理,从而修改和补充JES2的功能。4.2.2 控制JES2的处理过程 用户可以
25、通过一些初始化语句及相关的参数去控制输入设备的一些特征,用户也可以通过JES2输入过程中的退出点程序2、3、4和20去对进入系统的作业的属性进行修改。在作业进入系统之后,转换程序要对作业的JCL、登录信息或已启动的任务进行处理,将JCL转换成转换/解释文本。一但有适合运行这个作业的初始器空闲,经过转换的作业便可以运行了。4.2.2 控制JES2的处理过程 作业处理的另外一个重要的方面便是对输出的管理,JES2中提供了以下的功能对系统中的输出进行管理:根据JCL OUTPUT语句中指定的优先权或根据输出所代表的卷的优先权对作业的每一个输出单元进行排队。通过格式、磁带架和对针式打印机的队列式装载,
26、以及通过格式、覆盖框架和对非针式打印机的集中式装载来减少与操作员的交互。通过外部书写器界面将SYSOUT数据发送到除打印机和打孔机以外的其他特殊的外部设备进行处理。根据指定的优先权对作业的输出进行的优先权递增,使输出结果在输出队列中保留的时间越长,它的优先级就越高。通过一个功能子系统界面提供了对非针式打印机功能子系统的支持,如3800-3功能子系统。在网络的节点之间传送SYSOUT数据集。4.2.2 控制JES2的处理过程指定在打印机或打孔机上每个作业处理的记录数。将需要打印的输出数据集保持起来,然后收集具有相同设置的其它数据集作为一个输出单元进行输出。如果作业正常结束的话,提供将作业、SYS
27、OUT、STC(started task)和TSU(time sharing user)的输出结果清除的功能。确保用户可以使用特定的输出设备,并且输出设备有足够的安全性用以输出特定的输出结果。4.2.3 SPOOL卷的配置,管理和性能 JES2必须包含一个用来保存JES2的数据和控制块的数据集SYS1.HASPACE。这个数据集就是SPOOL数据集。SYS1.HASPACE数据集必须位于可以直接访问的卷上,如果是在一个MAS的系统结构中的话,这个卷必须能够被所有的成员访问。4.2.3 SPOOL卷的配置,管理和性能 SPOOL卷支持多种设备的组合使用。JES2在使用SPOOL卷时是同时使用所有
28、的SPOOL卷上的空间。位于MAS环境中的所有成员必须拥有至少一条连接包含了SPOOL和检查点数据卷的设备的通道,以保证所有成员对这些数据的访问。4.2.3 SPOOL卷的配置,管理和性能SPOOL数据集空间的分配:应分配一个连续的存储空间。以磁道组作为单位来分配空间的。每个磁道组的磁道数=SPOOLDEF语句中的TGSIZE/每磁道的缓冲区数(其中TGSIZE 定义了磁道组中的缓冲区数)4.2.3 SPOOL卷的配置,管理和性能 可以采用很多种可用的空间定义来定义所使用的SPOOL空间,但在定义时应该考虑以下方面的问题。为了减少不可用的DASD空间,应该将SPOOL定义在连续的空间内,所分配
29、的SPOOL空间应该大于等于磁道组中的磁道数。使用TRK(track)进行空间分配将比使用CYL(cylinder)进行空间分配节约DASD空间。4.2.3 SPOOL卷的配置,管理和性能 下面是一段用来定义和分配JES2的SYS1.HASPACE数据集的JCL程序/ALLOCATE JOB (.),PREPARE FOR JES2,MSGLEVEL=1/ALLOCAT EXEC PGM=IEFBR14 /SPOOL1 DD DSN=SYS1.HASPACE,UNIT=3380,/VOLUME=SER=SPOOL1,DISP=(NEW,KEEP),/SPACE=(CYL,884,CONTIG)
30、,DCB=(DSORG=PSU)/SPOOL2 DD DSN=SYS1.HASPACE,UNIT=3380,/VOLUME=SER=SPOOL2,DISP=(NEW,KEEP),/SPACE=(TRK,13256,CONTIG),DCB=(DSORG=PSU)/*4.2.3 SPOOL卷的配置,管理和性能SPOOL卷配置 在为SPOOL卷选择设备时,对于那些包含了JES2的控制块、作业的输入和输出数据以及远程终端使用的SPOOL消息队列的卷,应该建立在有良好的速度和容量的设备上,例如3390。为了使系统达到比较高的性能,定义专用的SPOOL卷时非常必要的,也就是说不要让SPOOL数据集和其它类
31、型的数据集共享一个卷。JES2的命令$S SPL,FORMAT对通道的使用率是非常高的,但仅仅持续一段时间,用以完成对SPOOL卷的格式化。4.2.3 SPOOL卷的配置,管理和性能 SPOOL卷配置 通过使用高速缓冲存储控制器也可以极大地提高SPOOL卷的使用性能。通常我们使用3990-3高速缓冲存储控制器,对于JES2的SPOOL卷来说它有以下的优点:较大的高速缓冲存储空间 稳定的存储空间,对DASD设备的读和写提供高速的缓冲 可以作为DASD设备的镜像 4.2.3 SPOOL卷的配置,管理和性能SPOOL卷管理 JES2将每一个SPOOL卷的空间分成一个个磁道组,然后在将这些磁道组分配给
32、作业。每个磁道组包含一个或多个DASD设备的磁道。每次JES2为一个作业分配一个磁道组,当所分配的磁道组上的空间用完时,JES2在SPOOL卷上为作业分配沿设备圆周最接近所用的磁道组的磁道组作为下一个磁道组。每个磁道组的磁道数=SPOOLDEF语句中的TGSIZE/每磁道的缓冲区数(其中TGSIZE 定义了磁道组中的缓冲区数)4.2.3 SPOOL卷的配置,管理和性能磁道单元 一个磁道上按照逻辑顺序组织起来的一组JES2的缓冲区或一组磁道记录。通过初始化语句SPOOLDEF的参数TRKCELL=可以指定在每一个磁道单元中的记录数。使用该功能时,可以通过一个操作将一个磁道单元而不是磁道记录从SP
33、OOL卷送往打印机进行处理 优点:有效地减少对SPOOL使用的竞争。磁道单元的功能的使用:必须通过初始化语句OUTCLASS(v)为SYSOUT类指定磁道单元功能 必须在初始化语句PRT(nnnn)中设置参数TRKCELL=YES 4.2.3 SPOOL卷的配置,管理和性能磁道单元 通过初始化语句SPOOLDEF的参数BUFSIZE=和TRKCELL=可以定义这些缓冲区空间的大小,如果TRKCELL=的值太高的话,将会有大量的主存空间被占用,从而导致整个系统性能的下降。通过对TRKCELL=的定义可以在每一个磁道的结尾处遗留下较短的磁道单元,如果在初始化语句OUTCLASS(v)中没有指定磁道
34、单元功能(TRKCELL=NO)这些磁道单元将会被分配给SYSOUT类的数据集。4.2.3 SPOOL卷的配置,管理和性能 JES2为系统提供了从SPOOL卸载数据到数据集以及从数据集重载数据到SPOOL的功能,这种功能可以使用磁带或DASD设备作为卸载媒介。SPOOL的卸载功能可以方便地帮助系统在不同版本之间的移植,不会因为系统的冷启动丢失作业和数据,这也意味着这种卸载功能是与版本无关的。SPOOL的数据传输包含了所有作业语句的文本内容,如果不加以适当的保护,可能会造成RACF的用户名和口令的泄密。4.2.4 检查点数据集的定义和配置检查点功能实际上分为两部分:对作业和输出的备份,可以确保J
35、ES2的重启。在MAS的系统结构中提供成员对成员的工作负载交流,确保JES2操作的高效率和独立性。4.2.4 检查点数据集的定义和配置检查点数据集配置:初始化语句语句中的CKPT1=参数指定包含了JES2检查点信息的基本数据集,CKPT2=参数在DUPLEX模式下用来指定DUPLEX数据集副本,在DUAL模式下用来指定辅助数据集。当检查点数据集建立在DASD设备上,将以SYS1.作为检查点数据集的前缀来标志检查点数据集 通过CKPTDEF语句的参数CKPT1=和CKPT2=的子参数VOL来指定存放检查点数据集的位置。如果检查点数据集建立在一些相关设备上时,用户遍布需要为其制订一个卷。在这种方式
36、下,检查点数据集被表示为SYS1_CKPT1和SYS1_CKPT2。在初始化语句CKPTDEF中的参数CKPT1=或CKPT2=必须被指定,但不需要指定数据集的缺省名、卷的序列号等信息。4.2.4 检查点数据集的定义和配置检查点数据集配置 从前面所介绍的内容,我们知道检查点数据集对于JES2来说是一个关键的资源,因此检查点数据集应该存放在一个高速的、低使用率的设备上。如果可能,对于每一个数据集来说最好的解决方法是使用一个专用的3390设备。为了获得最好的系统性能,对于采用DUAL配置模式的系统来说,CKPT1和CKPT2两个数据集应该是它们各自拥有的DASD卷上的为唯一数据集;对于采用DUPL
37、EX配置模式的系统来说,通过CKPT1参数定义的数据集应该建立在一个专用的卷上。我们建议将CKPTn数据集分别放在不同的卷上,这样可以保证在系统发生问题时可以容易地恢复。4.2.4 检查点数据集的定义和配置下例用来配置检查点数据集的JCL样例/ALLOCATE JOB (.),PREPARE FOR JES2,MSGLEVEL=1/ALLOCAT EXEC PGM=IEFBR14/*./*/CHECK1 DD DSN=SYS1.JESCKPT1,UNIT=3380,/VOLUME=SER=CHECK1,DISP=(NEW,KEEP),/SPACE=(ABSTR,(45,15),DCB=(DSO
38、RG=PSU)/*/CHECK2 DD DSN=SYS1.JESCKPT2,UNIT=3380,/VOLUME=SER=CHECK2,DISP=(NEW,KEEP),/SPACE=(TRK,13256),DCB=(DSORG=PSU)/*4.2.4 检查点数据集的定义和配置 确定检查点数据集的大小步骤:步骤1:计算用来包含所有检查点数据的4K记录的所需数量。步骤2:根据计算出来的值确定需要的DASD设备的柱面数或相关设备的空间。4.2.4 检查点数据集的定义和配置 如果用户不愿意进行计算或不会计算的话,可以使用试凑的方法来确定。所谓试凑法就是预先分配一块空间,然后通过JES2的消息$HASP2
39、96或$HASP542 来判断所需的空间是否合适。在JES2的初始化过程中通过消息$HASP537显示在检查点数据集中的4K记录的数量。通过$D CKPTSPACE 命令用户可以查看当前检查点数据的大小以及在检查点数据集中的空闲空间。通过$D ACTIVATE命令可以查看$ACTIVATE命令是否被执行。过检查点重置对话将检查点数据移动到更大的数据集中,也可以通过$T CKPTSPACE BERTNUM=命令增加为检查点数据的扩展所保留的空间。4.2.4 检查点数据集的定义和配置参数 描述 缺省值 SPOOLDEF SPOOLNUM=SPOOL卷的数量32 SPOOLDEF TGSPACE=(
40、MAX=SPOOL上磁道组的数量16288 JOBDEF JOBNUM=作业队列的大小1000OUTDEF JOENUM=作业输出队列的大小2.5 x JOBNUMCKPTDEF LOGSIZE=检查点上修改日志的大小1(如果MODE=DUPLEX)19(如果MODE=DUAL)CKPTSPACE BERTNUM=BERT(Block Extension Reuse Table)的大小2 x JOBNUM+100那么如何确定所需的4K记录的数量呢?这个值是根据用户在初始化语句的参数中所指定的值计算出来的,影响检查点数据集大小的初始化参数有:4.2.4 检查点数据集的定义和配置通过下表来计算系统
41、中每一个检查点数据集所需的4K记录的数量,这里假设用户已经运行$ACTIVATE命令并且提供了一个限度用以支持因进位所造成的误差。检查点信息公式或假定(所有的小数都进位)4K记录数固定 Master,SCQ,JIX,RSO,LCK,DAS,Misc.85 修改日志CKPTDEF LOGSIZE=磁道组(SPOOLDEF TGSPACE=MAX=)/16288作业队列(JQEs,JQX)(JOBDEF JOBNUM=)/31+(JOBNUM*(SPOOLDEF SPOOLNUM=)/32K)输出队列(OUTDEF JOENUM=)/37扩展块(BERTs)(CKPTSPACE BERTNUM=n
42、nnnnn)/64总计 4.2.4 检查点数据集的定义和配置 为了能够使用户理解计算的过程,下面通过一个例子进一步地描述整个计算的方法。以下的例子假设JES2的初始化参数为:CKPTDEF LOGSIZE=8 SPOOLDEF SPOOLNUM=32 SPOOLDEF TGSPACE=(MAX=97728)JOBDEF JOBNUM=2000 OUTDEF JOENUM=5000 CKPTSPACE没有被指定(BERTNUM的缺省值为2*JOBNUM+100)4.2.5 关于JES2的安全性 在一个数据处理系统中所讲的安全性主要是指对系统中的重要资源的控制和对这些资源访问的审核。在JES2中这
43、些资源主要包括:JES2自己的数据集(SPOOL数据集、检查点数据集和模块库)输入数据(包括从其它节点、远程作业入口工作站、读卡机、内部读卡机和卸载设备上输入的)作业名 位于SPOOL卷上的数据集(SYSIN/SYSOUT)输出设备(包括其它节点、打印机、打孔机、远程作业入口工作站和卸载设备)输入的命令4.2.5 关于JES2的安全性 系统的安全管理员在设计系统的安全管理策略时,应该考虑以下的问题:哪些资源应该得到保护?是否应该根据一定的规则来约束系统中的作业和用户?是否应该限制用户可以递交和取消的作业的作业名?是否应该保护SYSIN和SYSOUT数据?那些远程工作站可以访问系统?其它的节点是
44、否可以在系统中递交作业?可以允许系统向那些节点发送数据?是否应该限制一个操作员可以输入的命令?是否应该限制操作员可以使用那些控制台输入命令?从作业中、终端上和其它节点可以递交哪些命令?是否限制特定的输出在特定的设备上进行?输出结果的安全性标志是否出现在标题页上?4.2.5 关于JES2的安全性JES2安全管理机制 通过JES2的初始化语句和自定义的退出点程序来完成JES2自己的安全管理机制。另外用户还可以利用JES2中的一些其它功能来实现对部分特定的资源的管理,这些特定的资源有:网络作业入口的通讯线路远程作业入口的通讯线路远程终端的SIGNON/LOGONVTAM 会话命令4.2.5 关于JE
45、S2的安全性初始化语句实现安全机制 在系统中的RACF没有处于激活状态时或没有安装RACF时,用户可以通过JES2的初始化语句控制以下内容:对系统的访问,通过:远程作业入口线路和终端(LINE(nnnn)和RMT(nnnn)网络作业入口线路和节点(LINE(nnnn)和NODE(nnnn)JES2对VTAM(LOGON(n)的访问作业传送到或前滚到:带有加密口令的其它节点(NODE(nnnn)SPOOL的卸载设备4.2.5 关于JES2的安全性输出结果输出到:本地设备远程终端设备其它节点(NODE(nnnn)SPOOL的卸载设备(OFFLOAD(n)操作员向系统输入命令:通过内部读卡机(INT
46、RDR)通过读卡机(RDR(nn)从其它节点(NODE(nnnn)从作业中、启动的任务中或一个TSO/E会话中(JOBCLASS(v)4.2.5 关于JES2的安全性退出点程序实现安全机制用户可以通过自定义的退出点程序利用现有的信息判断是否允许对特定的资源进行访问。下表列出了JES2中安全性有关的一些退出点以及对如何使用这些退出点的描述信息。退出点退出点名称描述2 作业语句扫描执行口令检查或对某些用户限制使用的作业名3 作业语句记账域扫描检查JOB语句中的账号信息4 JCL和JES2控制语句扫描根据JCL和JES2的控制语句提供的信息限制一个作业所使用的资源。检查和验证嵌入作业流中的命令5JE
47、S2命令预处理限制JES2处理的命令,根据指定的参数确定命令可以被使用或者不可以6 转换/解释文本扫描根据JCL中所提供的信息限制一个作业能使用的资源4.2.5 关于JES2的安全性退出点 退出点名称描述 13 TSO/E交互式数据传送功能放映和通知限制通过TSO/E的RECEIVE命令从网络节点中接收的数据17 BSC远程作业入口SIGN-ON/SIGN-OFF控制能够访问系统的BSC远程作业入口设备18SNA远程作业入口LOGON/LOGOFF控制能够访问系统的SNA远程作业入口设备20 作业输入的结束在JES2处理完所有的输入后,对作业的属性进行最后的检查22 CANCEL/STATUS
48、限制对TSO/E的CANCEL和STATUS命令的使用30 SSI数据集和内部读卡机的开启、重启控制对SPOOL卷上的数据集的访问,限制对内部读卡机的使用31 SSI数据集和内部读卡机的分配控制对SSI数据集和内部读卡机的访问4.2.5 关于JES2的安全性退出点 退出点名称描述 32 SSI作业选择对JES2选择运行作业进行控制33 SSI数据集关闭验证子系统数据集的特征和目标34 SSI数据集的收回验证子系统数据集的特征和目标36 安全性授权认可前调用对传送到SAF的信息进行修改37 安全性授权认可后调用在允许对资源访问之前执行其它的安全性检查38 TSO/E接收数据集的处理修改对用户不能
49、够接收的数据集的缺省处理39 网络作业入口SYSOUT数据集的处理修改对验证失败后的网络作业入口SYSOUT数据集的缺省处理4.2.5 关于JES2的安全性 对于MAS的系统结构来说,JES2假设所有的成员都处于同一个安全级别,也就是说所有的成员都安装了同级别的安全管理产品,并且所有产品的数据基础是相同的。如果情况不是这样的话,可能会导致一些安全检查的失败和审查记录的不一致。例如,在成员1上的安全管理需要SECLABELs但成员2上不支持SECLABELs,当一个作业在成员2上被递交,在成员1上运行时便会因为没有SECLABEL而失败。因此我们建议当某一功能不能在所有成员上获得支持时,应当关闭
50、JES2中的这些功能,例如类和定义文件等。4.2.5 关于JES2的安全性 在MAS环境中,如果其中一个成员拥有了一个安全管理产品,但其它的成员没有时,应当在安全性管理时有一些特殊的考虑。一个没有安全性管理的成员通过SAF传递的信息应该能够被其它安装了安全性管理产品的成员识别并进行一些相应的验证。在这种环境下,如果其中一个成员安装的是RACF 1.9,应该考虑下面几个方面:没有安装RACF的成员的作业应该在转换或运行时被检验,为了进行这种检验必须在JOB语句中使用USER=和PASSWORD=参数。那些在没有安装RACF的成员上递交的并在其他成员上被转换和运行的作业,不能够被安装了RACF 1