- JES3
-
Das Job Entry Subsystem (JES) ist ein Subsystem unter z/OS auf IBM-Großrechnern. In den Anfängen der IBM Großrechnern war die so genannte Stapel- bzw. Batchverarbeitung die einzige mögliche Form der Datenverarbeitung. So genannte Jobs wurden damals auf Lochkarten kodiert, über Lochkartenleser in das System eingelesen und sequentiell abgearbeitet.
Auch wenn heute keine Lochkarten mehr verarbeitet werden, spielt die Stapelverarbeitung weiterhin eine wichtige Rolle. Sie wird heute vornehmlich für die automatisierte Verarbeitung, oft für die so genannte Massenverarbeitung, genutzt. Die Steueranweisungen für die Stapelverarbeitung werden damals wie heute in der Job Control Language (JCL) kodiert.
Das Job Entry Subsystem (JES) steuert als Subsystem des z/OS Betriebssystems die auszuführenden Jobs. Für z/OS existieren zwei Job Entry Subsystems, zum einen JES2 und zum anderen JES3, wobei JES2 am weitesten verbreitet ist.
Das Job Entry Subsystem wird vom Betriebssystem benötigt, um Jobs entgegenzunehmen, aufzuarbeiten, zu disponieren, an das Betriebssystem zur Ausführung weiterzuleiten und die Ausgaben des Jobs entgegenzunehmen. Kurz gesagt bringt das Job Entry Subsystem die Jobs ins Betriebssystem und nimmt die Ausgaben der Jobs entgegen.
Inhaltsverzeichnis
Arbeitsweise
Die Verarbeitung eines Jobs durch JES untergliedert sich in drei Teile:
- Preprocessing
- In diesem Teil wird die eigentliche Datei gelesen und interpretiert. Tritt hier ein Syntaxfehler auf, so bricht die Bearbeitung bereits hier ab. Des Weiteren werden Dateien allokiert, dazu kann Unterstützung vom Operator oder vom HSM erforderlich sein.
- Processing
- Hier werden die eigentlichen Steps ausgeführt und die Programme gestartet.
- Postprocessing
- Das ist die "Aufräumphase" des Job-Laufs: Nicht mehr benötigte Dateien werden gelöscht, Dateien die zur exklusiven Verarbeitung blockiert waren werden wieder freigegeben, und die Ausgabe wird gedruckt.
Varianten
JES gibt es in zwei Varianten: JES2 und JES3.
Beide tun prinzipiell das Gleiche, die Unterschiede für den Benutzer sind gering.
JES3 bietet die Möglichkeit, Jobs auf verschiedenen Rechnern (Nodes) zu verteilen oder Job-Netze zu bilden. JES2 hingegen ist vom Konfigurationsaufwand her einfacher zu handhaben, weshalb Operatoren bei einzelnen Rechnern in der Regel zu JES2 greifen.
JES2
JES2 entstand aus HASP ( Houston Automatic Spool Program ) welche von IBM in den 60er Jahren für die NASA entwickelt wurde. Noch heute schreibt JES2 seine Meldungen als $HASP Meldungen ins Systemlog.
JES2 ist das Job Entry Subsystem in der Version 2. JES2 ist einfacher einzurichten als JES3, kann dafür die Vorteile von Clustern nicht nutzen.
Es besteht allerdings die Möglichkeit, JES2 anzuweisen, es soll einen Job auf einem bestimmten System laufen zu lassen. Das geschieht mit folgendem Record:
/*JOBPARM SYSAFF=system
JES3
JES3 bietet mehr Möglichkeiten zur Kontrolle von Jobs, ist dafür vom Konfigurationsaufwand erheblich höher als JES2. Das Feature schlechthin sind wohl Job-Netze.
Ein Record, unabhängig von //*NET, der näher bei den Job-Netzen beschrieben wird, sei hier erwähnt:
//*MAIN ORG=dst,CLASS=class,SYSTEM=system
Die einzelnen Parameter hierbei sind:
- ORG=dst: Die Destination, was der Ausgabeadresse entspricht. Hier kann man bestimmte, vom Rechenzentrum vordefinierte, Werte eintragen, auf der die Ausgabe erfolgen soll. ORG=LOCAL etwa könnte der Drucker im Rechenzentrum sein.
- CLASS=class: Hier ist die Angabe einer Job-Klasse möglich, die den Operatoren hilft, Jobs einzuordnen. Diese Klasse unterscheidet sich kaum vom JCL-Parameter CLASS, allerdings besteht die Möglichkeit, mehrere Zeichen statt nur einem anzugeben.
- SYSTEM=system: Hiermit kann das System ausgewählt werden, auf dem der Job laufen soll. Von der Benutzung dieses Parameters ist (außer in wirklich begründeten Ausnahmefällen) abzuraten, da man die Fähigkeiten von JES3, Jobs auf verschiedene Systeme zu verteilen, damit umgeht.
- Preprocessing
Wikimedia Foundation.