Frage

Ich stelle mir eine Frage zum z/os-Protokoll:

Ich würde nur gerne wissen, ob alle gestarteten Vorgänge immer von $HASP373 und IEF403I aufgerufen wurden?Und für den von $HASP395 und IEF404I aufgerufenen Status Ended?

War es hilfreich?

Lösung

nein. Diejenigen Nachrichten sind für Jobs . Nicht alle Vorgänge sind Arbeitsplätze. Ein Beispiel für eine Operation, die kein Job ist, wäre ein Systembefehl . Ich habe jetzt kein z / OS-System zur Verfügung, aber ich glaube nicht, dass ich ein anderes Beispiel einer Operation, die die von Ihnen referenzierenden Nachrichten nicht verwenden würde, eine gestartete Task, die nicht verwendet wird.

Dieses kann hilfreich sein, da es versucht, Z / OS-Konzepte in Unix-Begriffen zu erklären.

Andere Tipps

Das Problem mit z/OS ist, dass es so ist Wirklich Es ist schwierig, etwas zu erklären, ohne ein anderes Konzept einzuführen, das ebenfalls erklärt werden muss.Dies wiederum erfordert eine weitere Erklärung usw.Dies ist zum Teil darauf zurückzuführen, dass das Betriebssystem z/OS von einem anderen Planeten stammt als Unix, Windows, OS X usw., die alle weitgehend ähnlich sind.

Diese Meldungen werden vom System für einen Großteil der Arbeit ausgegeben, die auf einem Mainframe ausgeführt wird, aber nicht für alle.

Alle Arbeiten unter z/OS laufen in einem eigenen Adressraum, der fast wie eine Mini-VM ist.In einem z/OS-System wird es viele Adressräume geben (in unserem derzeit 380).Ein Programm in einem Adressraum kennt keine anderen Adressräume und geht davon aus, dass es Zugriff auf den gesamten 2-GB-Speicherbereich (31-Bit-Adressierung) hat (verschiedene Adressräume). dürfen Kommunikation bei Bedarf & Berechtigung, und mehr als 2GB stehen bei 64-Bit-Adressierung zur Verfügung).Ein Programm in einem Adressraum kann ein Programm in einem anderen Adressraum nicht durch Überschreiben des Speichers zum Absturz bringen.Programme in zwei verschiedenen Adressräumen können auf dieselbe Speicheradresse zugreifen, beeinflussen sich jedoch nicht gegenseitig, da sie tatsächlich, ohne dass sie es wissen, auf unterschiedliche Speicher zugreifen.

Es gibt 4 Arten von Adressräumen:

  • TSO (Time Sharing Option) – das sind am System angemeldete Benutzer, die Befehle eingeben und Antworten erhalten.Sie können Skripte ausführen und dabei die Sprachen REXX und Clist (Befehlslisten – älter, im Allgemeinen durch REXX ersetzt) ​​verwenden, ähnlich wie Perl- und Shell-Skripte, Batch-Jobs senden, Code schreiben und kompilieren usw.
  • BATCH JOBS (oder JOB) – Hier möchten Sie ein Programm ausführen, also erstellen Sie eine Textdatei mit dem Namen des/der auszuführenden Programm(e) und der/den benötigten Datei(en) und ABSENDEN Es.Das System führt die Programme aus und teilt Ihnen mit, wenn sie fertig sind. Während der Ausführung können Sie etwas anderes tun.Sie müssen nicht einmal angemeldet sein – Sie können beispielsweise einen FTP-Job vorbereiten, der um 01:00 Uhr ausgeführt wird, während Sie schlafen, und einen anderen Job, der ausgeführt wird, wenn der erste funktioniert.
  • STARTED TASKS (STCs) – Sehr ähnlich einem Batch-Job.Wird normalerweise entweder vom System selbst beim Start oder von einem Bediener gestartet, der an der Systemkonsole einen START-Befehl für diesen STC ausgibt.(Z.B.„START DB2“ startet die von DB2 gestartete Task.Alternativ kann ein Benutzer einen Batch-Job für sein eigenes Test-DB2-System senden.)

  • Systemadressräume (SYSAS).Betrachten Sie diese als einen Unix-Daemon.vom Betriebssystem selbst für verschiedene wesentliche Prozesse gestartet.Es gibt auch Adressräume, die Prozesse darstellen, die unter der „Unix“-Hälfte von z/OS laufen (USS – Uxniz System Services), aber das ist eine andere Geschichte.

Unter z/OS gibt es so etwas wie einen „Vorgang“ nicht.Innerhalb eines Adressraums können viele Programme ausgeführt werden, die jeweils durch einen TCB (Task Control Block) oder SRB (System Request Block) identifiziert werden.

Wenn Sie jedoch wüssten, dass die gewünschten Informationen durch einen normalen Batch-Job erzeugt wurden, wäre die Suche nach den Meldungen £HASP373 und £HASP395 für diesen Job der richtige Ausgangspunkt.Beachten Sie, dass die Nachrichten-IDs (HASP373 und HASP395) auf Ihrem System möglicherweise nicht mit einem „£“ beginnen.„£“ ist die Standardeinstellung, es handelt sich jedoch um einen anpassbaren Parameter.$ und # sind ebenfalls ziemlich häufig.

Ich weiß, wovon ich spreche, aber wenn einer der oben genannten Punkte nicht klar ist, dann habe ich ihn nicht sehr gut erklärt.Möglicherweise mache ich mich schuldig, genau das zu tun, wovor ich gewarnt habe, und ein unbekanntes Konzept durch die Verwendung eines anderen unbekannten Konzepts zu erklären.:-)

Arbeit gelangt in z / os durch etwas, das als Subsystem-Schnittstelle bezeichnet wird. Ein Teil dieses Flusses ist, dass im Allgemeinen, wenn ein Adressraum gestartet wird, erfordert er von dem Subsystem, das den Adressraum über eine genau definierte Schnittstelle (IEFSSREQ) gestartet hat. Dieser Handshake ist, an der Dinge wie Ihre HASP-Nachrichten stammen.

Hier ist ein benutztes Beispiel.

Ein Bediener gibt einen Startbefehl von einer Systemkonsole ein. Als Teil der Verarbeitung dieses Befehls erstellt das System einen Adressraum, und schließlich sagt ein Thread in der neuen Adressfläche: "OK - ich bin bereit ... Gib mir etwas Arbeit". Dies gilt zum primären Job-Entry-Subsystem, der den Adressraum etwas angibt - die internen Datenstrukturen, die die Aufgabe darstellen, die der Bediener in diesem Fall gestartet hat. Im Rahmen dieser Kette werden die verschiedenen HASP-Nachrichten von $ $ erteilt, und dies funktioniert für TSO-Sitzungen so ziemlich genau, dass Tasks (STCs) und JCL für einen Batch-Job eingereicht werden.

jes2 / jes3 sind Beispiele für Subsysteme, aber es gibt andere.

Beispielsweise, wenn unser Bediener den SUB= MSTR-Parameter auf dem Startbefehl hinzugefügt hat, würden die Anforderungen nicht durch die primären JES gehen - und so dass Sie keine der $ -App-HASP-Nachrichten geben, die Sie suchen. Es gibt viele Anwendungen von Lieferantenanwendungen, die Adressbereiche außerhalb von JES starten und verwalten, und dies ist das Sachen, das Sie vermissen, indem Sie sich in die HASP- und IEF401-Nachrichten einschränken.

Auch Unix-Dienste hat eine Vielzahl von APIs ähnlich der UNIX-"Gabel", die verwendet werden können, um Adressräume zu spawnen, ohne notwendigerweise JES zu beteiligen.

Wenn Sie wissen möchten, dass die Aktivität beginnend und endet, gibt es bessere Möglichkeiten - SMF, ENF-Signale usw. Eine großartige Möglichkeit, dieses Zeug zu erlernen, wenn Sie nicht wissen, dass Sie die System-Trace-Anlagen verwenden und einige lesen Dumps Das wundervolle Ding über z / os ist, dass es in Ordnung ist, für diejenigen, die die Zeit damit verbringen, herauszufinden, wo man aussieht.

Ein Job ist etwas, das durch JES2 / JES3 geht. (In Ihrem Fall, JES2.) JES2 / JES3-Jobs werden im Allgemeinen für die Batch-Art von Arbeit verwendet. Zum Beispiel ein Sortierjob, wo ich etwas einreichen und später wiederkommen und eine Antwort erhalten. Es gibt jedoch eine Menge Arbeit, die unter Z / OS läuft, die nicht durch JES2 / JES3 geht.

Teil des Problems hier ist das, was Sie mit einer Operation meinen; Während Sie beispielsweise eine Nachricht erhalten, dass DB2 begonnen hat, danach wird es Ihnen nach dem Start nicht jedes Mal erzählen, wenn es eine Abfrage bekommt. Ein TSO-Benutzer könnte eine REXX-EXEC unter seinem Adressraum ausführen, aber das wird nicht durch Jes gehen.

Eine andere Möglichkeit, dies zu betrachten, ist, dass JES2 / JES3 Jobverwaltungssubsysteme sind, sie entsprechen jedoch nicht dem Kernel auf einem UNIX / Windows-System, das alle auf dem System laufenden Arbeiten planen. Für z / os gibt es mehrere Möglichkeiten, dass Arbeiten in ein System eingehen können. Beispiele umfassen JES2 / JES3, TSO, ISPF, CICS, DB2, IMS, über die Konsole usw. Es ist dann bis zum Master-Scheduler / wlm / srm, um alle Anforderungen zu verwalten, die durch alle Subsysteme eingehen, die durch alle Subsysteme eingehen.

Wenn Sie Zugriff auf ein z / OS-System haben, schauen Sie sich SDSF an, oder was Sie verwenden, um JES2 zu verwalten. Das ST-Panel, unter SDSF, ist eine Liste von Dingen, die ausgeführt werden können, die von JES2 verwaltet werden. Wenn Sie jedoch das DA-Panel ansehen (vorausgesetzt, Sie haben Autorität, dies zu tun), werden Sie feststellen, dass es viele Adressräume gibt, die auf dem DA-Panel angezeigt werden, der nicht in der ST-Panel angezeigt wird. < / p>

Wenn Adressräume über das JES2-Subsystem gestartet werden, was normalerweise der Fall ist, sofern nicht ein anderes Subsystem oder MSTR mit dem MVS-Befehl START angegeben wird, wird der Jobname $HASP373 STARTED ausgegeben.Wenn der Adressraum endet, wird ebenfalls die Meldung $HASP395 ausgegeben.

Die Nachrichten IEF403I und IEF404I werden vom System in ähnlichen Situationen ausgegeben, unabhängig davon, was JES2 oder JES3 tun und unabhängig davon, unter welchem ​​Subsystem der Adressraum gestartet wurde.Die Meldungen werden nur ausgegeben, wenn der Bediener die Überwachung von Jobnamen mit dem angefordert hat SETCON MONITOR oder der MONITOR JOBNAMES Befehl.Dies geschieht typischerweise bei Produkten für automatisierte Abläufe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top