04 作业控制子系统.docx

上传人:b****4 文档编号:24475751 上传时间:2023-05-27 格式:DOCX 页数:69 大小:230.90KB
下载 相关 举报
04 作业控制子系统.docx_第1页
第1页 / 共69页
04 作业控制子系统.docx_第2页
第2页 / 共69页
04 作业控制子系统.docx_第3页
第3页 / 共69页
04 作业控制子系统.docx_第4页
第4页 / 共69页
04 作业控制子系统.docx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

04 作业控制子系统.docx

《04 作业控制子系统.docx》由会员分享,可在线阅读,更多相关《04 作业控制子系统.docx(69页珍藏版)》请在冰豆网上搜索。

04 作业控制子系统.docx

04作业控制子系统

第四章作业控制子系统(JobEntrySubsystem)

MVS操作系统通过JES子系统对系统中绝大多数的作业进行控制和管理,包括从系统外部接收作业、对系统中的作业进行调度、管理作业的输出等。

现在,在定制MVS系统时客户可以选择使用两个不同的JES子系统:

JES2和JES3。

JES2是HASP(Houstonautomaticspoolingpriority)的继承和发展。

HASP是早期使用的一个程序,它能够提供调度、作业流程控制、数据管理和作业管理等功能。

作为历史的遗迹,至今仍然在JES2中可以发现HASP的影子,如许多模块名的前缀、所有从JES2发给操作员的消息的前缀都是HASP。

实际上JES2仅仅是HASP在功能上的一个扩展,从这个意义上说,JES2可以看成是MVS的一个组成部件,是用来在MVS中更高效地实现脱机打印、作业调度和管理等功能的。

那么为什么要将MVS和作业控制子系统分开呢?

简单地说,为了使系统的效率更高,系统中的每一个作业都被分成了多个任务进行处理,在任意时间点上,系统资源忙于处理来自于不同作业的任务,还有许多任务在等待被处理。

JES子系统和MVS的基础控制程序分别管理作业和系统资源,JES2管理运行前和运行后的作业;基础控制程序管理运行中的任务。

图4-1简单地图示了两者之间的关系。

图4-1JES2和基础控制程序的关系

在MVS系统中,我们将一个作业的生命期分为六个阶段:

●输入(Input)

●转换(Conversion)

●运行(Processing)

●输出(Output)

●打印(Print/Punch)

●清除(Purge)

除了第三步由MVS的基础控制程序管理外,其余阶段全部由JES2进行管理。

对这些阶段的我们将会在后面的章节中进行详细介绍。

我们可以选择使用JES3作为作业控制子系统,那么这两者之间的区别在哪里呢?

如果在仅有一个处理器的系统配置情况下,JES2和JES3所完成的工作基本类似,也就是将作业读入系统、转换为系统可识别的格式、调度作业的运行、处理作业的输出、最终将作业从系统中清除。

但JES3主要是为包含多个处理器的系统配置情况而设计的。

在本章中我们主要介绍JES2。

4.1JES2的简述

本节内我们主要对JES2系统进行一个概括性的介绍,让读者能够对JES2有一个初步的了解。

其中包括JES2所支持的系统配置;JES2的功能;对JES2进行客户化以适合用户应用的要求;以及和JES2进行交互,包括如何通过JES2的消息和诊断信息了解JES2的状态,使用正确的命令对系统进行控制。

能够支持MVS操作系统运行的环境多种多样,从最简单的系统仅包含一个基础控制程序和一个JES2,并且和其它的处理系统完全地隔离,处于封闭的状态中;到复杂的系统配置,包含多个JES2,并且处于一个全球互联的处理网络之内。

因此在配置的复杂性方面,JES2提供了很大的弹性空间,用户可以根据应用的需要选择系统硬件的配置,并据此可以进行软件的配置。

这种应用结构可以随着用户业务的扩展不断地扩充。

最基本的配置包括:

_单处理器

_多系统共享访问SPOOL

_Poly-JES

_远程作业入口(RJE)

_网络作业入口(NJE)

在4.1.1节“JES2的配置”中我们将通过一个例子详细讨论关于系统配置方面的内容。

为了能够对MVS系统中的作业载入和作业结果输出进行管理,JES2提供了一定数量的功能。

所有JES2提供的这些功能用户都可以根据自己的需要进行配置。

下面是一些主要的功能。

_控制MVS系统中作业的输入和作业的输出

_通过对作业的选择和调度达到系统的最大效率

_将系统中作业的数据导出以及提供对系统当前工作的备份

_支持AFP打印机(Supportingadvancedfunctionprinters)

_运行多个JES2的副本

_相关系统的安全性

在4.1.2节“JES2的功能”中我们将会对这方面的内容进行讨论。

每一个系统的安装都有其独特的要求,JES2提供了很大的灵活性来满足不同系统的要求。

事实上在一个系统中用户完全可以控制JES2的每一个功能,JES2提供了多种实用的方法来完成对JES2的定制,也就是通常所说的客户化。

用户可以通过在安装JES2时运行一些特定的客户化任务来进行客户化;也可以在用户的要求发生变化时再次地对JES2进行客户化。

JES2提供了初始化语句、JES2命令、预定义的退出点程序、自定义的退出点程序等方法,用户在定义自己的退出点程序时只需要修改极少的源代码便可以完成。

另外,JES2还提供了对部分JES2命令和消息进行修改的方法,在做这些修改时不需要对系统的源代码进行修改。

这些方法一方面既可以方便用户对JES2的控制,另一方面有保证了系统的安全性、可靠性和可升级的能力。

关于客户化的方法和过程我们将会在4.1.3节“JES2的客户化”中进行讨论。

在目前我们所使用的大型数据处理系统或子系统中,还没有那一个可以在没有系统程序员或操作员干预的情况下长时间地运行,JES2同样离不开用户的干预。

因此必须在操作员和JES2之间提供一种双向的通讯机制。

JES2必须不断地和系统程序员或操作员保持通讯,以便让用户了解系统中的作业量和设备使用情况。

为此,JES2通过消息来传递作业和设备的状态、错误处理情况、瓶颈资源和系统性能状况。

另外,用户可以通过JES2命令查询当前的状态,通过使用其它一些工具获得关于错误检测和恢复的进一步的信息以及系统故障情况。

4.1.4节,“与JES2进行交互”我们将会较详细地介绍相关命令和消息的使用。

4.1.1JES2的配置

在本节中我们主要向读者介绍以下几个问题:

_JES2是如何管理它的工作的

_JES2的数据保存在哪里,JES2又是如何保证数据的完整性的?

_JES2支持那些处理系统的配置类型

在MVS系统中通过JES2对一些特定的数据集和设备的控制可以将JES2的作业卸载,其中JES2用来管理这些数据集的手段和方法是JES2中独有的。

在这一节当中我们主要向大家介绍一些关于JES2配置方面的基础知识,这对于读者对整个系统的理解和学习是非常有帮助的。

JES2中数据集的管理

JES2自己管理着一些数据集,在这些数据集中包含了与JES2有关的数据。

这些数据主要是以队列的形式存在,如作业队列、输出队列等等,每个队列中都包含了一队等待MVS系统处理的作业。

所有这些数据集都保存在DASD设备上(directaccessstoragedevices)。

在系统的生产过程中,新的作业不断地加入到这些队列中,JES2就从队列中选择作业进行处理。

由此可以看出,这些数据集和队列必须能够正确地反映当前系统中作业的状态,只有这样才能保证系统的完整性和高效性。

下面便是关于JES2的SPOOL数据集和检查点数据集的描述以及JES2对这些数据集进行管理的过程。

首先我们要向对这介绍一个术语SPOOL(Simultaneousperipheraloperationsonline),SPOOL在本书中包含有几个含义,一般我们解释成是系统对作业处理的一个过程,这里包含几层含义:

_使用DASD设备上的存储空间作为一个缓冲存储器,用来降低在外围设备和程序之间传递数据的延迟。

_将输入流读到或将输出流写到一个中间设备上,等待接下来的处理或输出。

_当系统忙于其它的工作时,用来执行一些操作,如打印。

有些情况下我们也使用SPOOL这个词来表示那些包含了SPOOL数据集的DASD设备。

所以我们在遇到这个词时,需要从上下文的关联来判断它的含义,只有这样才不会造成理解上的错误。

在MVS-JES2的环境中SPOOLING是一个关键的过程。

如同我们前面所提到的Spooling可以为那些没有完成的作业提供一个临时的存储空间和并发的处理,这样在系统比较繁忙的情况下,JES2仍然可以接受作业到系统中。

在这种情况下,JES2将所接收的作业(包括JCL、作业的控制语句、作业的数据)写到一个SPOOL数据集中,等待系统空闲时在处理。

任何一个系统在处理作业和数据时都有可能发生错误,MVS也是同样。

根据所发生错误的严重性不同所造成的后果也不同,有的错误可能导致所有的系统活动都被挂起;有的作业可能导致作业的丢失或作业和作业的数据的不可用。

一旦这些类型的错误发生,最可取的做法是将JES2停下来,然后在作业和数据损失最小的情况下将所有的处理过程重启。

JES2中提供了相应的机制来完成这种操作,包括检查点数据集、检查点处理、检查点重构会话。

我们使用检查点数据集这样一个概念用来描述一组JES2维护的位于DASD设备或一些相关设备上的数据集。

无论是位于DASD设备或其它相关设备上,检查点数据集同样包含了JES2中作业队列和输出队列的一个备份,这些备份信息中包含了系统中有哪些作业正在被处理,以及每一个作业被处理到哪一布。

同SPOOL数据集同样,位于一个多配置系统检查点数据集可以被系统中的所有成员访问,但任何一个时刻只能有一个成员可以控制这些数据集。

由此我们可以联想到,在一个多配置的系统中检查点数据集为不同成员的作业和作业的输出之间提供了一个交流的途径。

JES2定期对检查点数据集进行更新,这种更新是通过将内存中数据被更改的部分复制到位于DASD设备或其它相关设备的副本中来完成的。

值得指出的是检查点数据集中的数据除了在JES2或系统发生故障时使用外,这些数据对于JES2中作业的通常处理也是非常关键的。

通常我们使用“检查点处理”这样一个概念来描述在DASD设备或其它相关设备上维护一个包含了关键的作业信息的检查点数据集的副本的过程。

这个副本从每一个JES2的成员中获得更新数据。

通过检查点处理的过程,JES2可以在作业数据损失最小或没有损失的情况下被关闭和重启。

检查点重构会话是一种动态的处理方法,通过这种方法当前的检查点数据集的配置情况可以被更改,如添加一个检查点设备或将一个检查点数据集从一个设备转移到另外一个设备等等。

在检查点重构会话的方式下,不需要将JES2关闭然后重启便可以修改一些配置,这样大大地提高了系统的可用性。

JES2的配置

任何一个数据处理系统的配置都是根据用户的业务需要来决定的,这里面包括定义系统的规模和复杂度。

影响系统配置的因素很多,例如通常我们需要考虑以下问题:

_需要在同一时刻与系统进行交互的最大用户数

_需要处理的数据量

_系统支持的最大客户数

_用户和系统资源的地理分布

_能够提交作业,访问数据,执行程序的各种用户数量

JES2提供两种不同的功能用来对JES2处理系统的配置进行扩展:

远程作业入口RJE(RemoteJobEntry)和网络作业入口NJE(NetworkJobEntry)。

通过远程作业入口的方法可以让本地的JES2处理系统的配置得以扩展,使用户不再局限于在一个地理位置上工作。

RJE是通过在一个不同的地理位置上定义一些的远程设备(如作业输入终端和输出设备等)的方法来实现的,这些远程设备通过卫星、电话线路等远程通信手段连接到MVS/JES2的主机上。

在这种方式下,系统的用户可以分别位于一个大厦的不同办公室中,或者位于一个城市的不同位置,甚至位于不同的城市、不同的国家中。

特别指出的是,无论相隔多远,所有的这些远程设备仍然属于同一个系统,也就是说都是在同一个系统中定义的。

与前一种方法相对应的是网络作业入口的方法,NJE能将地理上分离的系统通过网络连接起来,进行通讯,传递作业,将输出送往任一个连接的输出设备。

在这种方式下,网络中可能存在多个MVS/JES2系统,也可能存在非MVS/JES2系统,不同的系统之间可以进行资源的共享。

尽管多个JES2配置的组合可以共存在一个复杂系统结构里,但是我们建议在一个复杂系统结构中的每一个MVS系统都使用自己的一个JES2配置,所有这些不同的JES2配置都作为一个成员在复杂系统结构中发挥作用。

JES2可以在以下的几种配置结构中充分发挥MVS的性能:

_单系统结构(单处理器和一个JES2)

_多系统结构(最多可以包含32个处理器并且每个处理器都可以拥有自己的JES2)

_复合JES系统(多套JES2存在于一个MVS中)

_远程作业入口工作站(远端接入系统)

_NJE结构(多个单系统或多系统的通过网络连接的结构)

1.单系统配置

JES2可以支持单个处理器的系统,也可以支持最多到32个处理器的系统。

如果系统中仅有一个处理器,我们称之为单系统设置。

这样的一套系统适用于工作负载相对较低的环境,或者要求相对独立的数据处理环境,以获得比较高的安全级别。

2.多系统配置

大多数系统都可以通过JES2将多个处理器组成一种多系统结构,用来提高系统的性能,我们把这种配置称为MAS(Multi-AccessSpool)配置。

这种配置中包含两个或多个JES2处理系统,每个JES2都为自己的处理器服务,但这些JES2共享同一个SPOOL数据集和检查点数据集。

在这种方式下,所有的处理器之间没有直接的联系,它们仅通过共享的数据集来通信。

每个JES2处理器都能从本地或远程读卡机中取得作业,为作业分配处理器,在输出设备上进行结果输出,与用户通讯。

在这种方式下,每一个JES2处理器的运行都是独立于其它JES2处理器的。

所有的JES2处理器共享一个公共的作业队列和一个公共的输出队列,这些队列都存放于检查点数据集中。

这两个共享的队列使得所有的JES2处理器平衡负载。

任何一个作业可以在任何一个空闲的处理器上得到运行,输出也可在任何一个可用的输出设备上输出。

当然,用户也可以指定所请求的作业在某个特定的处理器上运行,输出在某个特定的输出设备上输出。

当系统中的一个处理器故障时,其他的处理器仍然继续工作,并接替是故障的处理器的工作。

仅仅是在故障处理器上运行的作业被中断。

3.运行JES2的多个副本(Poly-JES)

在一个MVS系统允许多个JES2子系统并行工作,其中一个JES2被指定为主JES2子系统,其它的JES2被指定为辅助JES2子系统。

对于辅助子系统来说,存在着一些额外的限制,例如,TSO/E用户只能访问主JES2子系统。

这些限制对维护MVS-JES系统的相对独立和安全是必要的,对于产品的测试工作来说这是一个很好的功能。

存在这样多个JES2拷贝的系统被称作复合-JES。

辅助JES2子系统对于测试一个产品的新版本或者是测试自定义的退出点程序都是很有用的,子系统间的独立性防止了测试对主子系统的破坏,保证了系统的正常生产。

4.JES2的远程作业入口方式(RJE)

远程作业入口功能允许在JES2中定义和使用远程作业入口工作站。

远程作业入口工作站指通过数据传输连接到系统中的一个成员上的工作站。

这里所说的工作站可以是简单的I/O设备,或是一组I/O设备,甚至是包含了处理器的一个系统,如System/36,System/390等。

一般来说远程作业入口工作站可以包含有一个可编程的工作站(如一台PC),或者有一个通信终端(如3770,2780,S/260等),这些设备通过数据通信连接连接到MVS系统。

在JES2和远程设备之间的这种连接之间的通信一般采用SDLC(SynchronousDataLinkControl同步数据连接控制)或BSC(BinarySynchronousCommunication二进制同步通信)协议。

下图表示了一个简单的远程作业入口配置。

图4-2远程作业入口配置

远程作业入口工作站是本地系统处理能力的延伸,仅仅是作业通过远程连接传输而已。

对于一个需要在许多不同的地点进行数据的输入或者需要将作业的结果发送到许多位于不同地点的设备上的应用来说,远程作业入口的方法显而易见时非常方便的。

下面我们用几个日常生活中常见的例子来说明这种方法的使用。

_在一个大的百货公司中存在许多收银台,这些收银台位于商场的不同楼层、不同位置。

每一个收银台中的售货员都必须输入售出商品的信息并打印收银条等结果。

由于安置MVS系统的主机房所在的建筑与商场所在的建筑可能相隔几百公里,因此每一个收银终端都直接连接到系统上显然是不可能的。

在这种情况下,我们就可以将所有的中断,包括打印机定义为JES2的远程终端,通过JES2的远程作业入口的方法进行工作。

_这里我们可以考虑一家服装连锁店的经营,这家连锁店包括一个主店和七家分店。

所有分店的经理都必须各自做自己的工作,包括发订单、访问库存、提供支付信息等。

但所有这些信息必须保存在位于主店的计算中心的存储设备上,便于进行统计和管理。

在这种情况下,每一个分店的终端都通过远程作业入口的方式在主机的JES2中被定义。

下图表示了这家服装连锁店的系统配置:

图4-3远程作业入口的例子

在上图中,每一个特定的地区有一家分店,如北京、上海、广州、深圳等等。

每一家分店都连接到位于香港的单一主机上。

整个连锁机构使用了一个MVS/JES2系统来管理所有分店的商业行为,如存货控制、销售、支付系统等等。

在这种系统配置中,JES2采取了同样的方式处理所有的作业。

无论作业是通过远程通讯手段从远程终端上进入系统的,还是通过本地的设备进入系统的。

为了系统中能够支持远程作业入口的功能,位于远程的工作站必须在本地的系统中被定义。

JES2可以使用两种协议与远程作业入口工作站通信:

SDLC协议(synchronousdatalinkcontrol)和BSC协议(binarysynchronouscommunication)。

有的远程作业入口工作站可以拥有自己的处理器,如System/370系统,在这个系统上运行JES2生成的程序。

这些程序可以向主机的JES2发送作业和从主机的JES2中接收数据。

这样的工作站可以被一些可编程工作站所取代,例如一台PC或是另一个远程作业入口配置。

同时还有一些远程作业入口工作站没有自己的处理器,这些工作站仅仅被用来作为输入作业和输出结果的远程终端来使用,如2780、2770等设备。

5.JES2的网络作业入口方式(NJE)

从对系统扩展的角度来讲,网络作业入口和远程作业入口所完成的功能是类似的。

简单的说,网络作业入口是在由几个对等的系统构成的网络中实现的,在这个网络中网络作业入口连接的是JES2和工作站。

远程作业入口和网络作业入口之间的主要区别体现在它们的运算能力和处理器的位置。

特别指出的是,远程作业入口仅仅是对单一的处理系统的扩展,无论是一个单处理器的系统还是一个MAS的系统结构,被扩展后的系统能够从相对与主机位置的远程位置接受作业的递交并将结果返回进行输出。

而网络作业入口是将若干个这样的单处理器系统和MAS的系统结构相互连接构成为一个整体的处理网络。

在这个网络中,可能几个系统是建立与同一个处理器之上的,也可能几个系统都位于同一个机房中,也可能是在全世界不同的角落通过很多节点连接在一起共同进行作业处理。

其中每一个处理器系统和其本地及远程设备构成一个节点,许多节点再连接在一起就组成了远程作业入口网络。

如前所述,构成一个节点的MVS系统中可能包含有1个或者多个(最多达32个)处理器,所有的这些处理器可以共享一套SPOOL数据集和检查点数据集。

网络作业入口网络的各个节点之间可以采用不同的方式进行通讯,发送和接收数据。

建立在同一个物理处理器上的多个节点可以采用VTAM(VirtualTelecommunicationsAccessMethod)方法进行通讯,这种方法不需要硬件支持。

对于地理上分布较近的节点间的通信可以采用CTCA(channel-to-channeladapters通道连接卡)和数据通信连接进行。

而地理上分布较远的节点间采用SNA和BSC方式进行通讯。

下面的例子进一步讨论这方面的内容。

针对上一小节的服装连锁店的例子,主机系统(包括MVS和JES2)都位于香港的机房中,其它分店的终端作为远程作业入口终端连接到主机系统上,这样共同构成了这一地区的一个节点。

这种配置方式对于一个相对较小范围内的连锁机构来说可能是足够了。

但是对于一个跨国集团来说这种配置又有可能是不够的。

这样的企业可能会在全世界范围内建立许多这样类似的节点,将这些节点相互连接起来就必须通过网络作业入口的方式。

下面我们用图来表示这种结构:

图4-4网络作业入口的例子

这里面我们注意到不同的节点都有各自不同的订货系统、支付系统、管理系统等等,也就是说每一个节点都是一个完整的系统。

我们可以注意到,在纽约和伦敦两个节点上都使用的是MAS的系统结构配置,在香港节点上仍然使用的是我们上一节中描述的配置,在这种网络环境中还可以包含其它简单的系统配置。

在网络作业入口环境中,一个位于北京的分店经理可以定购一种产品,位于香港的主机集合来自于所有分店的此类信息,并将这些信息递交到位于纽约的总部,接着这些定购信息被发往位于伦敦的生产厂商,在伦敦进行制造和发货。

根据企业运营方式的不同,不同的请求在香港、纽约和伦敦之间传递。

在一个网络作业入口的网络中并不要求所有的节点都是MVS/JES2系统。

如图4-5所描述的,每个节点都可以包含一些不同的处理系统;如MVS/JES2、MVS/JES3、VM/RSCS和VSE/POWER等系统都可以接入到这个网络中来。

实际上这些系统都支持网络作业入口的方式和协议。

图4-5不同处理系统网络的例子

4.1.2JES2的功能

本节主要介绍JES2在系统中所完成的主要功能,包括对系统中大部分作业处理的六个阶段进行管理,以及JES2的主要功能。

作业处理的六个阶段

在MVS系统中基础控制程序和JES2共同分担对作业的管理任务。

JES2负责将作业输入系统,然后由基础控制程序负责为作业分配设备并真正控制程序的运行,最终JES2负责管理作业的输出。

下图简单图示了作业处理的六个阶段

图4-6作业处理的六个阶段

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

例如:

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

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

●输出队列中的作业在等待它们的运行结果产生

●硬拷贝队列包含所有已经产生运行结果的作业

●清除队列包含所有等待被清除的作业

1.输入阶段

JES2通过读卡机、远程终端等输入设备接收作业到系统中,这些作业是以输入数据流的方式存在。

除了传统的输入设备外,输入数据流还可以来自于其它程序的输出、网络上的其它节点以及内部读卡机。

内部读卡机实际上是一个用来模拟真正读卡机功能的程序,其它的程序可以通过它递交作业、向JES2发送命令。

任何在MVS系统中运行的作业都可以通过内部读卡机将输入数据流传递给JES2,并且JES2可以通过多个内部读卡机同时接收多个作业。

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

在JES2接收输入数据流的同时,也为每一个作业分配一个作业标识符并将每一个作业的JCL、JES2的控制语句和作业的输入数据SYSIN存放在DASD数据集中,这些数据集被称为SPOOL数据集。

JES2就是从这些SPOOL数据集中选择作业进行处理。

2.转换阶段

JES2通过一个转换程序对每一个作业的JCL语句进行分析。

转换程序读出作业的JCL语句,并将其中用来调用库程序的语句用程序库(如SYS1.PROCLIB)中的JCL语句进行替换,然后将结合后的JCL程序转换成JES2和MVS的调度模块都可以识别的转换/解释文本。

JES2将这些转换/解释文本存储在SPOOL数据集中。

如果在转换过程中发现JCL语法错误,JES2将发送消息,然后相关作业将跳过运行阶段进入输出阶段的作业队列;如果没有发现JCL语法错误,相关作业将进入运行阶段的作业队列,根据作业类别和作业优先级

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 起诉状

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1