大型机S390系统管理作业控制子系统_第1页
大型机S390系统管理作业控制子系统_第2页
大型机S390系统管理作业控制子系统_第3页
大型机S390系统管理作业控制子系统_第4页
大型机S390系统管理作业控制子系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 作业控制子系统(Job Entry Subsystem)MVS操作系统通过JES子系统对系统中绝大多数的作业进行控制和管理,包括从系统外部接收作业、对系统中的作业进行调度、管理作业的输出等。现在,在定制MVS系统时客户可以选择使用两个不同的JES子系统:JES2和JES3。JES2是HASP(Houston automatic spooling priority)的继承和发展。HASP是早期使用的一个程序,它能够提供调度、作业流程控制、数据管理和作业管理等功能。作为历史的遗迹,至今仍然在JES2中可以发现HASP的影子,如许多模块名的前缀、所有从JES2发给操作员的消息的前缀都是HAS

2、P。实际上JES2仅仅是HASP在功能上的一个扩展,从这个意义上说,JES2可以看成是MVS的一个组成部件,是用来在MVS中更高效地实现脱机打印、作业调度和管理等功能的。那么为什么要将MVS和作业控制子系统分开呢?简单地说,为了使系统的效率更高,系统中的每一个作业都被分成了多个任务进行处理,在任意时间点上,系统资源忙于处理来自于不同作业的任务,还有许多任务在等待被处理。JES子系统和MVS的基础控制程序分别管理作业和系统资源,JES2管理运行前和运行后的作业;基础控制程序管理运行中的任务。图4-1简单地图示了两者之间的关系。图4-1 JES2和基础控制程序的关系在MVS系统中,我们将一个作业的

3、生命期分为六个阶段:l 输入(Input)l 转换(Conversion)l 运行(Processing)l 输出(Output)l 打印(Print/Punch)l 清除(Purge)除了第三步由MVS的基础控制程序管理外,其余阶段全部由JES2进行管理。对这些阶段的我们将会在后面的章节中进行详细介绍。我们可以选择使用JES3作为作业控制子系统,那么这两者之间的区别在哪里呢?如果在仅有一个处理器的系统配置情况下,JES2和JES3所完成的工作基本类似,也就是将作业读入系统、转换为系统可识别的格式、调度作业的运行、处理作业的输出、最终将作业从系统中清除。但JES3主要是为包含多个处理器的系统配

4、置情况而设计的。在本章中我们主要介绍JES2。4.1 JES2的简述本节内我们主要对JES2系统进行一个概括性的介绍,让读者能够对JES2有一个初步的了解。其中包括JES2所支持的系统配置;JES2的功能;对JES2进行客户化以适合用户应用的要求;以及和JES2进行交互,包括如何通过JES2的消息和诊断信息了解JES2的状态,使用正确的命令对系统进行控制。能够支持MVS操作系统运行的环境多种多样,从最简单的系统仅包含一个基础控制程序和一个JES2,并且和其它的处理系统完全地隔离,处于封闭的状态中;到复杂的系统配置,包含多个JES2,并且处于一个全球互联的处理网络之内。因此在配置的复杂性方面,J

5、ES2提供了很大的弹性空间,用户可以根据应用的需要选择系统硬件的配置,并据此可以进行软件的配置。这种应用结构可以随着用户业务的扩展不断地扩充。最基本的配置包括: 单处理器 多系统共享访问SPOOL Poly-JES 远程作业入口(RJE) 网络作业入口(NJE)在4.1.1节“JES2的配置”中我们将通过一个例子详细讨论关于系统配置方面的内容。为了能够对MVS系统中的作业载入和作业结果输出进行管理,JES2提供了一定数量的功能。所有JES2提供的这些功能用户都可以根据自己的需要进行配置。下面是一些主要的功能。 控制MVS系统中作业的输入和作业的输出 通过对作业的选择和调度达到系统的最大效率 将

6、系统中作业的数据导出以及提供对系统当前工作的备份 支持AFP打印机(Supporting advanced function printers) 运行多个JES2的副本 相关系统的安全性在4.1.2节“JES2的功能”中我们将会对这方面的内容进行讨论。每一个系统的安装都有其独特的要求,JES2提供了很大的灵活性来满足不同系统的要求。事实上在一个系统中用户完全可以控制JES2的每一个功能,JES2提供了多种实用的方法来完成对JES2的定制,也就是通常所说的客户化。用户可以通过在安装JES2时运行一些特定的客户化任务来进行客户化;也可以在用户的要求发生变化时再次地对JES2进行客户化。JES2提供

7、了初始化语句、JES2命令、预定义的退出点程序、自定义的退出点程序等方法,用户在定义自己的退出点程序时只需要修改极少的源代码便可以完成。另外,JES2还提供了对部分JES2命令和消息进行修改的方法,在做这些修改时不需要对系统的源代码进行修改。这些方法一方面既可以方便用户对JES2的控制,另一方面有保证了系统的安全性、可靠性和可升级的能力。关于客户化的方法和过程我们将会在4.1.3节“JES2的客户化”中进行讨论。在目前我们所使用的大型数据处理系统或子系统中,还没有那一个可以在没有系统程序员或操作员干预的情况下长时间地运行,JES2同样离不开用户的干预。因此必须在操作员和JES2之间提供一种双向

8、的通讯机制。JES2必须不断地和系统程序员或操作员保持通讯,以便让用户了解系统中的作业量和设备使用情况。为此,JES2通过消息来传递作业和设备的状态、错误处理情况、瓶颈资源和系统性能状况。另外,用户可以通过JES2命令查询当前的状态,通过使用其它一些工具获得关于错误检测和恢复的进一步的信息以及系统故障情况。4.1.4节,“与JES2进行交互”我们将会较详细地介绍相关命令和消息的使用。4.1.1 JES2的配置在本节中我们主要向读者介绍以下几个问题: JES2是如何管理它的工作的 JES2的数据保存在哪里,JES2又是如何保证数据的完整性的? JES2支持那些处理系统的配置类型在MVS系统中通过

9、JES2对一些特定的数据集和设备的控制可以将JES2的作业卸载,其中JES2用来管理这些数据集的手段和方法是JES2中独有的。在这一节当中我们主要向大家介绍一些关于JES2配置方面的基础知识,这对于读者对整个系统的理解和学习是非常有帮助的。JES2中数据集的管理JES2自己管理着一些数据集,在这些数据集中包含了与JES2有关的数据。这些数据主要是以队列的形式存在,如作业队列、输出队列等等,每个队列中都包含了一队等待MVS系统处理的作业。所有这些数据集都保存在DASD设备上(direct access storage devices)。在系统的生产过程中,新的作业不断地加入到这些队列中,JES2

10、就从队列中选择作业进行处理。由此可以看出,这些数据集和队列必须能够正确地反映当前系统中作业的状态,只有这样才能保证系统的完整性和高效性。下面便是关于JES2的SPOOL数据集和检查点数据集的描述以及JES2对这些数据集进行管理的过程。首先我们要向对这介绍一个术语SPOOL(Simultaneous peripheral operations online),SPOOL在本书中包含有几个含义,一般我们解释成是系统对作业处理的一个过程,这里包含几层含义: 使用DASD设备上的存储空间作为一个缓冲存储器,用来降低在外围设备和程序之间传递数据的延迟。 将输入流读到或将输出流写到一个中间设备上,等待接下

11、来的处理或输出。 当系统忙于其它的工作时,用来执行一些操作,如打印。有些情况下我们也使用SPOOL这个词来表示那些包含了SPOOL数据集的DASD设备。所以我们在遇到这个词时,需要从上下文的关联来判断它的含义,只有这样才不会造成理解上的错误。在MVS-JES2的环境中SPOOLING是一个关键的过程。如同我们前面所提到的Spooling可以为那些没有完成的作业提供一个临时的存储空间和并发的处理,这样在系统比较繁忙的情况下,JES2仍然可以接受作业到系统中。在这种情况下,JES2将所接收的作业(包括JCL、作业的控制语句、作业的数据)写到一个SPOOL数据集中,等待系统空闲时在处理。任何一个系统

12、在处理作业和数据时都有可能发生错误,MVS也是同样。根据所发生错误的严重性不同所造成的后果也不同,有的错误可能导致所有的系统活动都被挂起;有的作业可能导致作业的丢失或作业和作业的数据的不可用。一旦这些类型的错误发生,最可取的做法是将JES2停下来,然后在作业和数据损失最小的情况下将所有的处理过程重启。JES2中提供了相应的机制来完成这种操作,包括检查点数据集、检查点处理、检查点重构会话。我们使用检查点数据集这样一个概念用来描述一组JES2维护的位于DASD设备或一些相关设备上的数据集。无论是位于DASD设备或其它相关设备上,检查点数据集同样包含了JES2中作业队列和输出队列的一个备份,这些备份

13、信息中包含了系统中有哪些作业正在被处理,以及每一个作业被处理到哪一布。同SPOOL数据集同样,位于一个多配置系统检查点数据集可以被系统中的所有成员访问,但任何一个时刻只能有一个成员可以控制这些数据集。由此我们可以联想到,在一个多配置的系统中检查点数据集为不同成员的作业和作业的输出之间提供了一个交流的途径。JES2定期对检查点数据集进行更新,这种更新是通过将内存中数据被更改的部分复制到位于DASD设备或其它相关设备的副本中来完成的。值得指出的是检查点数据集中的数据除了在JES2或系统发生故障时使用外,这些数据对于JES2中作业的通常处理也是非常关键的。通常我们使用“检查点处理”这样一个概念来描述

14、在DASD设备或其它相关设备上维护一个包含了关键的作业信息的检查点数据集的副本的过程。这个副本从每一个JES2的成员中获得更新数据。通过检查点处理的过程,JES2可以在作业数据损失最小或没有损失的情况下被关闭和重启。检查点重构会话是一种动态的处理方法,通过这种方法当前的检查点数据集的配置情况可以被更改,如添加一个检查点设备或将一个检查点数据集从一个设备转移到另外一个设备等等。在检查点重构会话的方式下,不需要将JES2关闭然后重启便可以修改一些配置,这样大大地提高了系统的可用性。JES2的配置任何一个数据处理系统的配置都是根据用户的业务需要来决定的,这里面包括定义系统的规模和复杂度。影响系统配置

15、的因素很多,例如通常我们需要考虑以下问题: 需要在同一时刻与系统进行交互的最大用户数 需要处理的数据量 系统支持的最大客户数 用户和系统资源的地理分布 能够提交作业,访问数据,执行程序的各种用户数量JES2提供两种不同的功能用来对JES2处理系统的配置进行扩展:远程作业入口RJE(Remote Job Entry)和网络作业入口NJE(Network Job Entry)。通过远程作业入口的方法可以让本地的JES2处理系统的配置得以扩展,使用户不再局限于在一个地理位置上工作。RJE是通过在一个不同的地理位置上定义一些的远程设备(如作业输入终端和输出设备等)的方法来实现的,这些远程设备通过卫星、

16、电话线路等远程通信手段连接到MVS/JES2的主机上。在这种方式下,系统的用户可以分别位于一个大厦的不同办公室中,或者位于一个城市的不同位置,甚至位于不同的城市、不同的国家中。特别指出的是,无论相隔多远,所有的这些远程设备仍然属于同一个系统,也就是说都是在同一个系统中定义的。与前一种方法相对应的是网络作业入口的方法,NJE能将地理上分离的系统通过网络连接起来,进行通讯,传递作业,将输出送往任一个连接的输出设备。在这种方式下,网络中可能存在多个MVS/JES2系统,也可能存在非MVS/JES2系统,不同的系统之间可以进行资源的共享。尽管多个JES2配置的组合可以共存在一个复杂系统结构里,但是我们

17、建议在一个复杂系统结构中的每一个MVS系统都使用自己的一个JES2配置,所有这些不同的JES2配置都作为一个成员在复杂系统结构中发挥作用。JES2可以在以下的几种配置结构中充分发挥MVS的性能: 单系统结构(单处理器和一个JES2) 多系统结构(最多可以包含32个处理器并且每个处理器都可以拥有自己的JES2) 复合JES系统(多套JES2存在于一个MVS中) 远程作业入口工作站(远端接入系统) NJE结构(多个单系统或多系统的通过网络连接的结构)1单系统配置JES2可以支持单个处理器的系统,也可以支持最多到32个处理器的系统。如果系统中仅有一个处理器,我们称之为单系统设置。这样的一套系统适用于

18、工作负载相对较低的环境,或者要求相对独立的数据处理环境,以获得比较高的安全级别。2多系统配置大多数系统都可以通过JES2将多个处理器组成一种多系统结构,用来提高系统的性能,我们把这种配置称为MAS(Multi-Access Spool)配置。这种配置中包含两个或多个JES2处理系统,每个JES2都为自己的处理器服务,但这些JES2共享同一个SPOOL数据集和检查点数据集。在这种方式下,所有的处理器之间没有直接的联系,它们仅通过共享的数据集来通信。每个JES2处理器都能从本地或远程读卡机中取得作业,为作业分配处理器,在输出设备上进行结果输出,与用户通讯。在这种方式下,每一个JES2处理器的运行都

19、是独立于其它JES2处理器的。所有的JES2处理器共享一个公共的作业队列和一个公共的输出队列,这些队列都存放于检查点数据集中。这两个共享的队列使得所有的JES2处理器平衡负载。任何一个作业可以在任何一个空闲的处理器上得到运行,输出也可在任何一个可用的输出设备上输出。当然,用户也可以指定所请求的作业在某个特定的处理器上运行,输出在某个特定的输出设备上输出。当系统中的一个处理器故障时,其他的处理器仍然继续工作,并接替是故障的处理器的工作。仅仅是在故障处理器上运行的作业被中断。3运行JES2的多个副本 (Poly-JES)在一个MVS系统允许多个JES2子系统并行工作,其中一个JES2被指定为主JE

20、S2子系统,其它的JES2被指定为辅助JES2子系统。对于辅助子系统来说,存在着一些额外的限制,例如,TSO/E用户只能访问主JES2子系统。这些限制对维护MVS-JES系统的相对独立和安全是必要的,对于产品的测试工作来说这是一个很好的功能。存在这样多个JES2拷贝的系统被称作复合-JES。辅助JES2子系统对于测试一个产品的新版本或者是测试自定义的退出点程序都是很有用的,子系统间的独立性防止了测试对主子系统的破坏,保证了系统的正常生产。4JES2的远程作业入口方式(RJE)远程作业入口功能允许在JES2中定义和使用远程作业入口工作站。远程作业入口工作站指通过数据传输连接到系统中的一个成员上的

21、工作站。这里所说的工作站可以是简单的I/O设备,或是一组I/O设备,甚至是包含了处理器的一个系统,如System/36,System/390等。一般来说远程作业入口工作站可以包含有一个可编程的工作站(如一台PC),或者有一个通信终端(如3770, 2780, S/260等),这些设备通过数据通信连接连接到MVS系统。在JES2和远程设备之间的这种连接之间的通信一般采用SDLC(Synchronous Data Link Control同步数据连接控制)或BSC(Binary Synchronous Communication二进制同步通信)协议。下图表示了一个简单的远程作业入口配置。图4-2

22、远程作业入口配置远程作业入口工作站是本地系统处理能力的延伸,仅仅是作业通过远程连接传输而已。对于一个需要在许多不同的地点进行数据的输入或者需要将作业的结果发送到许多位于不同地点的设备上的应用来说,远程作业入口的方法显而易见时非常方便的。下面我们用几个日常生活中常见的例子来说明这种方法的使用。 在一个大的百货公司中存在许多收银台,这些收银台位于商场的不同楼层、不同位置。每一个收银台中的售货员都必须输入售出商品的信息并打印收银条等结果。由于安置MVS系统的主机房所在的建筑与商场所在的建筑可能相隔几百公里,因此每一个收银终端都直接连接到系统上显然是不可能的。在这种情况下,我们就可以将所有的中断,包括

23、打印机定义为JES2的远程终端,通过JES2的远程作业入口的方法进行工作。 这里我们可以考虑一家服装连锁店的经营,这家连锁店包括一个主店和七家分店。所有分店的经理都必须各自做自己的工作,包括发订单、访问库存、提供支付信息等。但所有这些信息必须保存在位于主店的计算中心的存储设备上,便于进行统计和管理。在这种情况下,每一个分店的终端都通过远程作业入口的方式在主机的JES2中被定义。下图表示了这家服装连锁店的系统配置:图4-3 远程作业入口的例子在上图中,每一个特定的地区有一家分店,如北京、上海、广州、深圳等等。每一家分店都连接到位于香港的单一主机上。整个连锁机构使用了一个MVS/JES2系统来管理

24、所有分店的商业行为,如存货控制、销售、支付系统等等。在这种系统配置中,JES2采取了同样的方式处理所有的作业。无论作业是通过远程通讯手段从远程终端上进入系统的,还是通过本地的设备进入系统的。为了系统中能够支持远程作业入口的功能,位于远程的工作站必须在本地的系统中被定义。JES2可以使用两种协议与远程作业入口工作站通信:SDLC 协议(synchronous data link control)和BSC协议(binary synchronous communication)。有的远程作业入口工作站可以拥有自己的处理器,如System/370系统,在这个系统上运行JES2生成的程序。这些程序可以向

25、主机的JES2发送作业和从主机的JES2中接收数据。这样的工作站可以被一些可编程工作站所取代,例如一台PC或是另一个远程作业入口配置。同时还有一些远程作业入口工作站没有自己的处理器,这些工作站仅仅被用来作为输入作业和输出结果的远程终端来使用,如2780、2770等设备。5JES2的网络作业入口方式(NJE)从对系统扩展的角度来讲,网络作业入口和远程作业入口所完成的功能是类似的。简单的说,网络作业入口是在由几个对等的系统构成的网络中实现的,在这个网络中网络作业入口连接的是JES2和工作站。远程作业入口和网络作业入口之间的主要区别体现在它们的运算能力和处理器的位置。特别指出的是,远程作业入口仅仅是

26、对单一的处理系统的扩展,无论是一个单处理器的系统还是一个MAS的系统结构,被扩展后的系统能够从相对与主机位置的远程位置接受作业的递交并将结果返回进行输出。而网络作业入口是将若干个这样的单处理器系统和MAS的系统结构相互连接构成为一个整体的处理网络。在这个网络中,可能几个系统是建立与同一个处理器之上的,也可能几个系统都位于同一个机房中,也可能是在全世界不同的角落通过很多节点连接在一起共同进行作业处理。其中每一个处理器系统和其本地及远程设备构成一个节点,许多节点再连接在一起就组成了远程作业入口网络。如前所述,构成一个节点的MVS系统中可能包含有1个或者多个(最多达32个)处理器,所有的这些处理器可

27、以共享一套SPOOL数据集和检查点数据集。网络作业入口网络的各个节点之间可以采用不同的方式进行通讯,发送和接收数据。建立在同一个物理处理器上的多个节点可以采用VTAM(Virtual Telecommunications Access Method)方法进行通讯,这种方法不需要硬件支持。对于地理上分布较近的节点间的通信可以采用CTCA(channel-to-channel adapters通道连接卡)和数据通信连接进行。而地理上分布较远的节点间采用SNA和BSC方式进行通讯。下面的例子进一步讨论这方面的内容。针对上一小节的服装连锁店的例子,主机系统(包括MVS和JES2)都位于香港的机房中,其

28、它分店的终端作为远程作业入口终端连接到主机系统上,这样共同构成了这一地区的一个节点。这种配置方式对于一个相对较小范围内的连锁机构来说可能是足够了。但是对于一个跨国集团来说这种配置又有可能是不够的。这样的企业可能会在全世界范围内建立许多这样类似的节点,将这些节点相互连接起来就必须通过网络作业入口的方式。下面我们用图来表示这种结构:图4-4 网络作业入口的例子这里面我们注意到不同的节点都有各自不同的订货系统、支付系统、管理系统等等,也就是说每一个节点都是一个完整的系统。我们可以注意到,在纽约和伦敦两个节点上都使用的是MAS的系统结构配置,在香港节点上仍然使用的是我们上一节中描述的配置,在这种网络环

29、境中还可以包含其它简单的系统配置。在网络作业入口环境中,一个位于北京的分店经理可以定购一种产品,位于香港的主机集合来自于所有分店的此类信息,并将这些信息递交到位于纽约的总部,接着这些定购信息被发往位于伦敦的生产厂商,在伦敦进行制造和发货。根据企业运营方式的不同,不同的请求在香港、纽约和伦敦之间传递。在一个网络作业入口的网络中并不要求所有的节点都是MVS/JES2系统。如图4-5所描述的,每个节点都可以包含一些不同的处理系统;如MVS/JES2、MVS/JES3、VM/RSCS和VSE/POWER等系统都可以接入到这个网络中来。实际上这些系统都支持网络作业入口的方式和协议。图4-5 不同处理系统

30、网络的例子4.1.2 JES2的功能本节主要介绍JES2在系统中所完成的主要功能,包括对系统中大部分作业处理的六个阶段进行管理,以及JES2的主要功能。作业处理的六个阶段在MVS系统中基础控制程序和JES2共同分担对作业的管理任务。JES2负责将作业输入系统,然后由基础控制程序负责为作业分配设备并真正控制程序的运行,最终JES2负责管理作业的输出。下图简单图示了作业处理的六个阶段图4-6 作业处理的六个阶段在上图中我们可以发现多个作业队列,在这些作业队列中分别包含了处于不同阶段的作业。例如:l 转换队列中包含等待运行的作业l 运行队列中包含正在运行的作业l 输出队列中的作业在等待它们的运行结果

31、产生l 硬拷贝队列包含所有已经产生运行结果的作业l 清除队列包含所有等待被清除的作业1. 输入阶段JES2通过读卡机、远程终端等输入设备接收作业到系统中,这些作业是以输入数据流的方式存在。除了传统的输入设备外,输入数据流还可以来自于其它程序的输出、网络上的其它节点以及内部读卡机。内部读卡机实际上是一个用来模拟真正读卡机功能的程序,其它的程序可以通过它递交作业、向JES2发送命令。任何在MVS系统中运行的作业都可以通过内部读卡机将输入数据流传递给JES2,并且JES2可以通过多个内部读卡机同时接收多个作业。MVS可以通过在系统初始化时创建的内部读卡机向JES2传递多种信息,如所运行任务的作业控制

32、语言、START和MOUNT命令、TSO LOGON申请等。在JES2接收输入数据流的同时,也为每一个作业分配一个作业标识符并将每一个作业的JCL、JES2的控制语句和作业的输入数据SYSIN存放在DASD数据集中,这些数据集被称为SPOOL数据集。JES2就是从这些SPOOL数据集中选择作业进行处理。2. 转换阶段JES2通过一个转换程序对每一个作业的JCL语句进行分析。转换程序读出作业的JCL语句,并将其中用来调用库程序的语句用程序库(如SYS1.PROCLIB)中的JCL语句进行替换,然后将结合后的JCL程序转换成JES2和MVS的调度模块都可以识别的转换/解释文本。JES2将这些转换/

33、解释文本存储在SPOOL数据集中。如果在转换过程中发现JCL语法错误,JES2将发送消息,然后相关作业将跳过运行阶段进入输出阶段的作业队列;如果没有发现JCL语法错误,相关作业将进入运行阶段的作业队列,根据作业类别和作业优先级等待运行。JES2支持多个转换程序同时运行,因此作业并不能够完全按照先进先出的原则进行处理。3. 运行阶段在运行阶段,JES2响应来自于MVS初始器的请求,从作业队列中选择等待运行的作业并将它们送到MVS中。通过确认作业队列中所有作业的当前处理阶段,JES2可以通过系统对作业的流程进行管理。JES2的作业调度:为了能够对作业队列中的作业进行处理,JES2必须和MVS的初始

34、器相互配合。一个初始器实际上就是一个系统程序,在系统初始化时这个系统程序可以被操作员用命令激活也可以随着JES2的启动而自动启动。一个初始器可以启动一个作业,允许其和系统中正在运行的其它作业竞争系统资源。当初始器需要启动一个作业时便从JES2那里申请,JES2则根据初始器所关联的作业类和这些作业类被搜索的优先权级别选择作业。当JES2选择了一个作业以后,便将这个作业传递给初始器。通过将每个初始器关联一个或多个作业类,我们便可以很好的控制作业的选择,使系统的资源得到更有效的利用。当JES2从所有可选的作业当中选择了最合适的作业并将这个作业传递给初始器之后,初始器便调用解释器,解释器根据转换器产生

35、的转换/解释文本为作业创建一个控制块。接下来,初始器根据作业的JCL中第一步的要求为作业分配资源,在确认所有被分配的资源都有效后,初始器便运行JCL EXEC语句所指定的程序。优选权增长:当所有的初始器全部满负荷时,系统中某些类别作业的吞吐量便会降到正常的期望值之下。为了解决这个问题,JES2使用了附加的调度功能,优先权增长。优先权增长可以帮助那些已经等待运行的作业在刚刚进入系统的作业之前获得一个被选择的机会。通过优先权增长,系统可以提高那些等待运行作业的优先权级别。作业等待的时间越长,它的优先权级别就会越高,直到达到一定的限制,那么作业被选择运行的机会便越大。JES2基础控制程序的交互:JE

36、S2和基础控制程序不断地进行沟通以控制系统的处理过程,这种沟通是通过子系统界面来完成的。子系统界面允许MVS向JES2发出服务申请。例如,可以申请JES2去查找一个作业、处理消息或命令、打开或访问一个SYSIN或SYSOUT数据集。反过来,基础控制程序可以注意到JES2的事件,如消息的发送、操作员的命令、作业的结束和任务的结束等。4. 输出阶段JES2控制所有的SYSOUT处理。SYSOUT是系统产生的输出,也就是,系统为一个作业或由一个作业产生的所有输出结果。这个输出结果中包括所有必须被打印的系统消息和用户申请的必须被打印的数据集。在一个作业运行结束后,JES2根据输出的类别和要求的设备配置

37、对作业所有输出的特征进行分析,然后根据相同的特征将输出分组。这些分组后的输出将在JES2的队列中等待打印。5. 打印阶段JES2根据输出的类别和优先权等条件从输出队列中选择输出结果进行处理。位于输出队列中的输出结果分成两类,本地处理和远程处理(RJE工作站或网络上的其它节点)。JES2对不同类别的输出结果进行不同的处理。 本地输出: 当输出在本地或者远程接入的设备上处理时,JES2使用这些本地或者远程接入的设备作输出。JES2将作业的输出数据集放在输出队列中排队。本地接入或者是通过RJE接入的活动设备,选择最符合自身特征的输出数据集进行输出。 NJO(Network Job Output)输出

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

39、令,提供数据处理和系统设置管理能力。JES2提供以下主要的功能,来管理MVS中作业的输入输出。所有的这些都在系统程序员的控制之下。 从MVS外得到作业 调度作业,优化系统效率 卸载作业和备份系统 高级打印输出 安全管理4.1.3 JES2的客户化JES2可以根据不同用户的运行要求进行配置。我们可以在创建JES2的初始化数据集时根据自己的需求去定义基本的配置,但在运行的过程中可能发现这种配置的效率较低时,JES2还提供了如退出点程序和双表结构等功能对配置进行修改。有些时候用户希望在初始化语句提供的基础上对JES2的配置进行修改,这种方法可能会涉及到对代码的修改,值得注意的是用户自己的代码必须和系

40、统的源代码分开。如果直接对系统的源代码进行修改很可能造成系统出错,并且会影响到系统的升级以及安装PTF(program temporary fixe)和APAR(authorized program analysis report)。进一步说,采用这种方法对JES2进行修改会影响对系统的维护。因此,JES2提供了多种方法对配置进行修改。建议使用JES2的双表功能、预定义的退出点程序和安装时定义的退出点程序对JES2的配置进行修改。在本章的后面部分我们将会详细讨论这些功能。JES2的初始化数据集为了方便对于系统的维护,JES2是一个易操作、高可调整性的系统。一个系统程序员可以通过使用和修改JES

41、2的初始化数据集对JES2的许多功能进行调整,JES2的初始化数据集是存放在数据集SYS1.VnRnMn.SHASSAMP的成员HASIPARM中。虽然随产品提供的这个数据集如果不经过安装时的修改是不能够使用的,但通过它仍然可以大幅度地提高系统程序员的效率,比较起让系统程序员自己去建立这样一个初始化数据集可以节约几个小时的输入时间。通过大约70条初始化语句,用户可以控制所有的JES2功能。在JES2的初始化数据集中提供了许多定义的规范,可以帮助用户去定义输出设备(打印机和打孔机)、定义作业类、定义JES2的SPOOL环境、定义检查点数据集、定义跟踪功能以及对其它JES2功能的定义。每一条初始化

42、语句都包含一组用于定义一项JES2功能的参数,其中大部分的JES2初始化语句都是可选的。也就是说,如果用户不需要对特定的的功能进行定义或者重新定义就可以不去修改相应的初始化语句。更进一步说,也就是这些初始化语句基本都提供了缺省的参数,不做修改的话可以保证系统能够完成最基本的功能。在第一次安装JES2时仅仅需要提供很小一部分的初始化语句就可以了。如果作为一个初次接触JES2的用户,你没有必要去定义或者理解一些复杂的处理环境,例如远程终端、网络节点和MAS(multi-access spool complex)环境。初学者只需要定义一些简单的基础参数,在这个基础上系统可以正常地运行,随着应用的深入

43、可以对系统做进一步的配置。为了帮助用户对系统进行配置,JES2中提供了一个作为例子的初始化数据集。这个例子存放在数据集SYS1.PARMLIB中,其中包含了所有的JES2初始化语句和所有参数的缺省值。我们在安装新系统的时候往往要删除其中的大部分内容。如果使用CBPDO(Custom Built Product Delivery Offering)来创建系统,CBPDO会帮助用户创建一个更为实用的初始化集合。CBPDO是一个用来创建、配置和发布整个MVS操作系统的产品,通过它可以方便地安装和使用系统。对于操作系统的升级和移植,CBPDO是非常有用的;对于新安装系统,可以帮助初学者加快安装的效率。

44、JES2的双表结构双表结构可以帮助用户去修改、删除或者添加JES2的处理过程和功能。与使用退出点程序的方法比较起来,使用双表结构会较少出现错误。这里面的主要原因是JES2的宏会帮助用户产生表,而且不需要用户去写大量的代码。一些JES2的功能中会用到表格,如初始化语句的处理、命令的处理、消息的产生等等。用户可以通过这些功能所关联的表格来实现功能的客户化。JES2中存在两套表格,这就是我们所说的双表结构。其中一个是JES2的表格,在这种表格中对各种功能和处理过程进行了缺省的定义;另外一个是用户的表格,用户可以对这种表格种的定义进行扩充、修改和删除,例如,用户可以添加自己的JES2命令和消息,添加初

45、始化语句和参数,缩短JES2命令的长度或者删除一些不需要的JES2命令。为了简化这一功能的使用,用户可以使用JES2的缺省表作为模板去创建自己的表格。使用这种方法可以不需要用户有很专业的知识去了解定义的细节。但是在很多方面双表结构仍然不能够替代退出点程序,这两者的配合使用才能够保证系统的高效和安全。JES2中预定义的退出点程序JES2的退出点程序为JES2和用户自定义的代码之间提供了一个简洁、方便并且相当稳定的界面。在JES2处理的过程中,JES2的源代码会在一些特定的位置调用相应的退出点程序,这些特定的位置我们称为退出点。在JES2中一个退出点程序可以关联一个或者几个退出点。在JES2中最多

46、可以有256个退出点程序,其中系统已经预先定义了一部分的退出点程序,用以支持最基本功能的客户化。往往在添加新的功能或者升级到新的版本时需要添加新的退出点程序。这些退出点程序为用户按照自己的要求去修改系统提供了一种可能。退出点程序支持JES2客户化的范围很广,包括: 定义用户自己的打印分隔页 检查或修改由TSO/E用户递交的作业 修改或不接受用户发出的命令 为使用了很多资源的作业定义后备处理过程 对远程终端和系统数据集提供口令检查,加强安全管理。对于系统中预先定义好的退出点程序,由于其中的代码已经加入了退出点的定义,因此用户只需要创建自己的退出点程序并将这两者通过两条初始化语句结合起来就可以了。

47、为了确认一个退出点程序的正确性,用户必须彻底地理解系统中预定义的退出点程序和JES2的操作环境。关于系统中每一个预定义的退出点程序的描述可以在OS/390 JES2 Installation Exits中找到。如果你发现这些预定义的退出点程序不能够满足你的要求,你也可以创建自己的退出点并使用自己的退出点程序。当然,比较起使用预定义的退出点和退出点程序,这需要你能够十分彻底地了解关于JES2处理过程的知识。需要记住的是,与修改系统的源代码比较起来,退出点程序仍然是很高层的方法。对于代码的修改不会象退出点程序一样可以方便地随时取消。JES2中自定义的退出点程序当系统终于定义的退出点程序不能够满足需

48、要时,JES2的退出点程序功能可以允许用户去创建自己的退出点程序。用户可以在JES2的代码或者自己的退出点程序代码中的特定位置放置退出点,然后根据需要定义自己的退出点程序。系统中预定义的退出点和退出点程序也是通过这种方法创建的。这个过程需要对系统有相当深的了解,并且是相当困难的。4.1.4 与JES2进行交互在本节中我们主要关心如何使用JES2。也就是说,当JES2运行时操作员和程序员如何与JES2进行通讯,可以在多大程度上控制JES2的运行;当JES2发生问题时是如何通知操作员的,以及是否有工具来帮助我们更方便地使用JES2的功能。JES2的操作方式为了帮助用户更好地维护他们的整个工作环境,

49、JES2提供了一套交互方法去控制其大部分的功能,以及控制在JES2管理下的设备。尽管JES2的环境是由初始化语句预先定义好的,但在许多情况下用户仍然可以修改其中的部分定义,如向系统中加入新的设备时。用户可以使用JES2提供的命令查询当前JES2的状态和设备的状态,JES2将返回相关的消息。根据这些消息,系统操作员、系统程序员或者一些自动控制的程序(如NetView和AOC/MVS)可以利用命令进一步去修改处理的过程(如加入新的退出点程序)、启动或关闭打印机、启动诊断功能等等。许多功能都可以被修改,而且不会影响系统的其它部分。下面我们会比较全面地介绍对JES2的控制和管理。1. 由操作员完成的工

50、作操作员可以通过命令对JES2的初始化语句做的大部分定义进行修改,这些命令也可以被系统程序员用来对当前的定义进行修改。系统程序员可以通过实现一些安全管理的机制或对系统进行合理的客户化来限制某个用户或一组用户对操作系统的优先控制。随着客户业务的增长系统的复杂程度会越来越高,有时用户可能需要将自己的系统和其它系统联结在一起构成一个系统网络。这时可以通过操作员的命令来控制联结不同系统的通讯线,就像控制一个系统的不同部分一样。这是一个非常典型的动态环境,随着不同系统添加到网络中或从网络中删除,需要做大量的管理工作,如硬件环境的配置、作业的平衡、访问其它节点上的数据库等等。JES2允许根据需要通过操作员

51、的命令对初始的网络环境进行重新定义。可能在某些情况下这种动态的管理方法并不能够发挥作用,这时操作员或系统程序员必须去修改初始化数据集中的定义,关闭JES2然后重新启动系统使这些定义发挥作用。虽然这种方法会影响用户对系统的使用,但在某些情况下是必需的。停止和启动JES2的运行在一些情况下,JES2必须被关闭然后重新启动,启动的方式可以是热启动或者冷启动。例如,当重新定义一个网络作业环境中的部分系统时求必须做一个热启动,对JES2所做的热启动不会影响当前的作业和输出队列中的结果。相对于冷启动来说热启动是一个较好的选择。JES2中部分功能和资源的定义(或重新定义)需要将整个JES2系统关闭,这时就需

52、要做一个冷启动,通过冷启动可以使JES2中修改过功能和资源影响到每一个组件。冷启动会将JES2中当前作业和输出队列中的结果清除然后用新的数据重建,因此在进行冷启动之前首先要根据当时系统中的作业情况做出合理的安排,否则会导致系统中作业的丢失。JES2的命令JES2通过同一种方式处理初始化语句和操作员所使用的命令,因此大部分的初始化语句都可以被操作员通过命令进行修改。下面列出了JES2命令可以对JES2的处理过程进行的控制。操作员可以通过这些命令: 添加功能和功能子系统 更改前面的定义。如对输出的定义;对检查点的动态更改;使安装时定义的突出程序有效;卸载设备;更改打印机的属性;更改作业的属性等。

53、删除部分功能;删除网络中的系统;删除退出点程序;删除诊断跟踪等。 在JES2的控制下启动、关闭和暂停设备的使用。 为本地打印机、打孔机、读卡机和通讯线分配单元或者为这些设备重新分配单元。 显示当前功能和设备的定义我们可以通过标准的MVS命令界面输入JES2的命令,例如通过MVS的控制台或者通过JES2的初始化数据集。所有JES2命令的前缀字符缺省为$,这样可以将JES2的命令和消息通操作系统的其它部分区别开来。对于命令来说,这个前缀字符表示命令的作用范围仅仅是JES2;对于消息,前缀字符用以指出消息是由JES2发送出来的。2. 自动运行JES2命令操作员可以定义一条命令或者是一组命令,让这些命

54、令在指定的时间或者每个一定的时间便自动运行。这种自动运行命令的处理方式可以用来显示状态信息,也可以用来减少操作员通常要做的日常维护性工作的工作量。例如,一个系统需要在每天的早上8点钟运行一个作业,在早上9点钟运行另外一个作业,操作员可以通过预先定义好二组命令在每天的8点和9点自动运行,这样便不需要操作员每天去做这样的工作。这些预定义的自动运行命令可以直接地写入初始化数据集,命令处理器将会每天自动运行这些命令。这些命令可以是一条单一的命令,也可以是一组相当复杂的命令。通过自动运行命令功能可以减少操作员的工作量,另外一种自动方法是通过如AOC/MVS(Automated Operations Co

55、ntrol/MVS)这样的自动工具为系统设置对JES2消息的自动回答。3. 自动完成JES2操作如同所有的MVS消息一样,JES2的消息中也包含几个部分的内容。所有的消息都包含一个唯一的序号,部分消息包含不变的文本;部分消息则包含了可变的文本,这些可变的文本根据系统中发生特定错误时的条件和状态不同而不同;还有一些消息中包含了特定的原因码,对原因码的详细解释可以在OS/390 JES2 Messages中查到;也有一些消息中即包含不变文本,也包含可变文本,还包含原因码。根据所收到消息的序号、原因码和可变得消息文本就可以对系统当前的运行状态进行解释,这样在一个可编程的控制台上就可以通过运行定义好的

56、命令去响应。当然,还有其它一些产品可以帮助用户去根据所收到的消息自动完成响应的工作,这样的产品有NetView和AOC/MVS。例如,AOC/MVS可以用来在一些SPOOL空间短缺的情况下自动运行一些JES2命令;在发生一个严重错误时运行相应的命令去关闭JES2。JES2的通讯机制下列工具可以用来检查和判断在JES2环境中是否发生问题 消息:JES2提供了一组消息用来提醒操作员和系统程序员在处理过程中所出现的错误。 跟踪:通常用户可以使用JES2的跟踪功能,也就是说可以记录下与特定功能相关的事件,比如说记录每次JES2的初始化和终止或者一个退出点程序的每次执行。 IPCS:JES2使用了一种交

57、互式的问题处理功能,我们把它称为IPCS(interactive problem control system )。当用户在进行问题的诊断和恢复时,它允许我们在线地查看JES2的控制块,并可以将这些控制块的内容以方便用户理解的格式进行显示;还允许将我们需要的系统数据转存打印出来。1. JES2的消息与MVS操作系统的所有部件相似,JES2自己维护着一套消息和出错信息。每一条消息和出错信息都以$HASP作为前缀,其中HASP是不变的,但我们可以将$符号改为其它字符。由于用户可以在系统中安装两套JES2,例如将其中基本的一套用来支持正常工作,而将另外一套用来支持产品的开发和测试;因此必须将第二套JES2的消息前缀字符改为与第一套不同,这样操作员便可以在同一个控制台上区分来自不同JES2的消息。另外,由于语言习惯的不同,用户也常常将消息的前缀字符进行修改。例如在英格兰人们常常将字符?作为前缀。在JES2中大约有500条消息,每一条消息都有一个序号,这些序号分布在$HASP000到$HASP949之间,我们可以在OS/390 JES2 Messages中查到这些消息的详细解释。例如消息$HASP000 OK表示用户的请求被系统承认,没有发现错误;消息$HASP0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论