$ HASP373和IEF403I z / os syslog

问题描述 投票:5回答:5

我问自己一个关于z / os日志的问题:

我只是想知道所有开始的操作是否总是被$ HASP373和IEF403I调用?对于由$ HASP395和IEF404I调用的状态Ended?

mainframe zos
5个回答
2
投票

没有.Those messages适用于jobs。并非所有操作都是工作。不是工作的操作的一个例子是system command。我现在手头没有z / OS系统,但我相信另一个不使用你引用的消息的操作示例将是一个已启动的任务。

This可能会有所帮助,因为它试图用Unix术语解释z / OS概念。


7
投票

z / OS的问题在于,如果不引入另外需要解释的概念,很难解释。反过来,这需要另外的解释等。这部分是由于z / OS操作系统来自与Unix,Windows,OS X等相比的不同星球,所有这些都大致相似。

这些消息由系统发布,用于大型机上发生的大量工作,但不是全部。

z / OS上的所有工作都在自己的地址空间中运行,这几乎就像一个迷你虚拟机。 z / OS系统中将有许多地址空间(目前我们有380个)。地址空间中的程序不知道任何其他地址空间,并认为它可以访问整个2Gb(31位寻址)内存范围(如果需要和授权,不同的地址空间可以通信,并且可以使用超过2GB的地址空间64位寻址)。一个地址空间中的程序不能通过覆盖存储来使另一个地址空间中的程序崩溃。 2个不同地址空间中的程序可以访问相同的内存地址,但不会相互影响,因为它们实际上是不知道的,它们访问不同的内存。

有4种类型的地址空间:

  • TSO(时间共享选项) - 这些用户登录到系统,键入命令并获得响应。他们可以运行脚本,使用语言REXX和Clist(命令列表 - 较旧,通常由REXX替换),就像Perl和shell脚本,提交批处理作业,编写和编译代码等。
  • BATCH JOBS(或JOB) - 这是您要运行程序的位置,因此您创建一个文本文件,其中包含要运行的程序的名称以及它/它们需要的文件和SUBMIT它。系统将运行程序并告诉您何时完成,在运行时,您可以继续执行其他操作。您甚至不需要登录 - 您可以准备一个FTP作业(例如)在您睡着的时候在01:00运行,如果第一个工作则运行另一个工作。
  • STARTED TASKS(STC) - 非常类似于批处理作业。通常在系统启动时由系统本身启动,或者由操作员在系统控制台发出该STC的START命令启动。 (例如,“START DB2”启动DB2启动任务。或者,用户可以为自己的测试DB2系统提交批处理作业。)
  • 系统地址空间(SYSAS)。将它们视为Unix守护进程。由操作系统本身开始,用于各种基本过程。还有地址空间表示在z / OS(USS - Uxniz System Services)的'Unix'一半下运行的进程,但这是另一个故事。

在z / OS术语中没有“操作”这样的东西。在地址空间内,许多程序可能正在运行,每个程序都由TCB(任务控制块)或SRB(系统请求块)识别。

但是,如果您知道所需的信息是由正常的批处理作业生成的,那么查找该作业的£HASP373和£HASP395消息将是正确的起点。请记住,消息ID(HASP373和HASP395)可能不会以系统上的“£”开头。 '£'是默认值,但它是一个可自定义的参数。 $和#也很常见。

我知道我在说什么,但如果上述任何一项都不清楚,那我就没有解释清楚。我可能会犯下我所发出警告的内容,并通过使用另一个未知概念解释一个未知的概念。 :-)


3
投票

工作通过称为子系统接口的东西进入z / OS。这个流程的一部分通常是,当地址空间启动时,它通过一个定义良好的接口(IEFSSREQ)从启动地址空间的子系统请求工作。这种握手是HASP消息之类的来源。

这是一个淡化的例子。

操作员从系统控制台输入START命令。作为处理该命令的一部分,系统创建了一个地址空间,最终新地址空间中的一个线程说:“好吧 - 我已经准备好......给我一些工作要做”。这将转到主要作业输入子系统,该子系统负责处理地址空间要做的事情 - 内部数据结构表示操作员在这种情况下启动的任务。作为此链的一部分,将发布各种$ HASP消息,这与TSO会话,启动任务(STC)和为批处理作业提交的JCL的工作方式大致相同。

JES2 / JES3是子系统的示例,但还有其他子系统。

例如,如果我们的操作员在start命令上添加了SUB = MSTR参数,则请求将不会通过主JES - 因此不会有任何您正在寻找的$ HASP消息。有许多供应商应用程序可以启动和管理JES之外的地址空间,这是您通过限制HASP和IEF401消息而错过的内容。

此外,UNIX服务有各种类似于UNIX“fork”的API,可用于生成地址空间而不必涉及JES。

如果你想知道活动的开始和结束,有更好的方法 - SMF,ENF信号等。如果你不知道已经使用系统跟踪工具并读取一些转储,学习这些东西的好方法。关于z / OS的奇妙之处在于它可以用于那些花时间搞清楚外观的人。


2
投票

工作是通过JES2 / JES3完成的。 (在您的情况下,JES2。)JES2 / JES3作业通常用于批处理类型的工作。例如,一个排序作业,我提交的东西,然后回来并得到答案。但是,在z / OS下运行的很多工作都没有通过JES2 / JES3。

这里的部分问题是你的操作意味着什么;例如,虽然您可能会收到一条消息,说DB2已经启动,但在它启动后,它不会在每次获取查询时告诉您。 TSO用户可能会在他/她的地址空间下运行REXX exec,但这不会通过JES。

另一种看待这种情况的方法是JES2 / JES3是作业管理子系统,但它们并不等同于unix / windows系统上的内核,它确实安排了系统上运行的所有工作。对于z / OS,工作可以通过多种方式进入系统;示例包括JES2 / JES3,TSO,ISPF,CICS,DB2,IMS,通过控制台等。然后由主调度程序/ WLM / SRM来管理通过所有子系统进入的所有请求。

如果您可以访问z / OS系统,请查看SDSF或用于管理JES2的任何内容。在SDSF下的ST面板是由JES2管理的正在运行/有资格运行的事物的列表。但是,如果您查看DA面板(假设您有权这样做),您会注意到DA面板上显示的许多地址空间未显示在ST面板中。


0
投票

如果通过JES2子系统启动地址空间(通常是这种情况,除非使用MVS START命令指定了另一个子系统或MSTR),则发出$ HASP373作业名称STARTED。类似地,当地址空间结束时,发出消息$ HASP395。

IEF403I和IEF404I消息由系统在类似情况下发出,与JES2或JES3正在执行的操作无关,无论在哪个子系统中启动了地址空间。仅当操作员使用SETCON MONITORMONITOR JOBNAMES命令请求监视作业名称时才会发出消息。用于自动化操作的产品通常这样做。

© www.soinside.com 2019 - 2024. All rights reserved.