Betriebssysteme - z/OS und OS/390

Werbung
Betriebssysteme
it-Akademie Bayern
z/OS und OS/390 Lehrgang 2009
Prof. Dr.-Ing. Wilhelm G. Spruth
Teil 9a
Job Control
bs 0901 ww6
 copyright W. G. Spruth, 10-2000
wgs 03-95
Availability, Reliability, and Serviceability are cornerstones
in these systems. The systems have extensive recovery
and redundancy functions built in. Continuous availability
is ensured by dynamic reconfiguration capabilities as well
as dynamic software changes.
Data integrity is provided by system managed storage,
automatic backup, recovery options, security, and software
exploitation of the z/Architecture and S/390 architectures.
Flexibility: The system can be tailored to the needs of the
users and the business. Storage management: Automated
management of data storage with backups and archives.
Parallel Sysplex: Solution for coupling multiple system
images together providing the look and feel of a single
system image. Data can be shared among the images in the
sysplex.
Software The OS/390 operating system consists of load modules
and is often called executablecode. These load modules are placed
onto Disk (DASD) volumes into load libraries during a system install
process.
Hardware The system hardware consists of all the devices,
controllers, and processors that make up a z/OS or OS/390
complex.
Devices Shown are the tape, DASD, and console devices.
OS/390 consists of a collection of functions that are called base
elements and optional elements. The optional elements (features)
are either integrated or nonintegrated. It is important to note that
these optional features, both integrated and nonintegrated, are also
tested as part of the integration of the entire system.
z/OS und OS/390
Anfang 1966 als OS/360 (reines
Stapelverarbeitungssystem) eingeführt - Fred
Brooks
Spätere Namenswechsel
OS/360
MFT
MVT
MVS
1996 Namensänderung MVS nach OS/390 - Bündeln
von mehr als 70 Komponenten: Vereinfachung der
Installation und der Wartung
2000 Namensänderung OS/390 nach z/OS - 64 Bit
Adressierung
es 0555 ww6
wgs 11-00
Benutzer
Schnittstelle
Benutzer
Prozesse
SprachÜbersetzer
Presentation
Manager
(GUI)
Kommando
Interpreter
(Shell)
Betriebssystem
Schnittstelle
Betriebssystem Kernel
Hardware
Schnittstelle
Hardware
Schichtenmodell der
Rechnerarchitektur
es 0520z ww6
wgs 09-99
JES
TSO
Stapel
Verarbeitung
Interaktive
Verarbeitung
Unix Shell
Unix
System Serv.
Betriebssystem
Hardware
OS/390 Grundstruktur
Die drei wichtigsten Subsysteme:
JES (Job Entry Subsystem) für die Stapelverarbeitung
TSO (Time Sharing Option) für die interaktive
Verarbeitung (z.B. Programmentwicklung)
Unix System Services,
Posix kompatibles Unix Subsystem
es 0117 ww6
wgs 04-99
OS/390 Grundstruktur
unabhängige virtuelle Adressenräume (Regions)
Unix Web. Job
Com.
TSO CICS Syst. Appl. Entry DB2 RACF Serv.
Serv. Serv. Sub.
OS/390 Kernel (Basic Control Program)
Der OS/390 Kernel unterstützt eine Vielzahl von virtuellen
Adressenräumen, die im OS/390 Jargon als Regions bezeichnet
werden.
Einige der Regions beherbergen Subsysteme, die Teil des
Betriebssystems sind, aber im Benutzerstatus laufen. Einige der
(zahlreichen) Subsysteme sind:








CICS
Transaktionsverarbeitung
TSO
Shell, Entwicklungsumgebung
USS
Unix kompatible Shell, Entwicklungsumgebung
WAS
WebSphere Web Application Server
JES
Job entry Subsystem
DB2
relationale Datenbank
RACF
Sicherheitssystem
Communications Server
es 0556 ww6
wgs 03-01
z/OS Subsysteme
CICS Transaktions Manager
IMS Transaktionsmanager
DB2 Datenbank
IMS Datenbank
VSAM index-sequentielles Dateisystem
XCF
JES2/3
Security Server (RACF, DCE Security, Firewall)
Netview, Systemview
WebSphere
UNIX Services
Distributed Computing Services (DCE, NFS, DFS, FTP)
LAN Server
Run Time Language Support
C/C++
COBOL
Object Oriented Cobol
PL/1
Fortran
Assembler
C/C++ Open Class Library
JDK, JVM
es 0518z ww6
wgs 09-99
jedi.informatik.uni-leipzig.de
139.18.4.35:80
S/390 Rechner an den Universität Leipzig














Z/OS 1.5
CICS
IMS
VSAM
DB2
Unix System Services
JES
Cobol
PL/1
Fortran
C++
Java
WebSphere
S/390-Linux
Studenten loggen sich mit PC oder Unix Clienten in den
S/390 Server ein.
Zugang mit einem gängigen 3270 Emulator, z.B. als Applet in
einem Web Browser implementiert.
Verbindungsprotokoll : TCP/IP und Telnet
Direkter Web Zugriff ist möglich
es 2005 ww6
wgs 06-01
System Functions Overview (1)
Multiprocessing is the concurrent execution of two
or more tasks on different processors.
The System Resources Manager (SRM) must
optimize the utilization of the resources of the
system and at the same time provide an installationspecified level of service to each user.
The Workload Manager (WLM) is a user-friendly
interface to SRM.
Job Entry Subsystem (JES) handles the job
management function for both the z/OS and OS/390
operating systems.
The Storage Management Subsystem (SMS) is
included in DFSMS. SMS allows the system to
manage the performance, availability, and space
utilization of the DASD volumes installed at an
installation.
The VTAM, TSO, CICS, and IMS address spaces are
all started task address spaces. These address
spaces may be started at the operator's console by a
START command
System Functions Overview (2)
Job management is handled by the Job Entry
Subsystem, either JES2 or JES3. JES2 accepts the
submission of work for the z/OS or OS/390 base
control program (BCP. Kernel).
Program management routines locate the program
requested on the // EXEC Job Control Language
(JCL) statement and load it into the private area of
the assigned address space.
Once a job gets assigned to an address space, it
becomes work for the system to perform. A unit of
work in the z/OS or OS/390 system is called a task.
Task dispatching consists of determining which is
the highest priority ready task and giving processor
control to that task.
Die wichtigsten OS/390 Sprachen






Cobol
PL/1
Assembler
Fortran
C++
Java
Skripte
Shellskripte unter Unix
BAT-Files unter DOS
REXX unter OS/390
REXX
Von IBM entwickelte interpretative Scriptsprache,
verfügbar für alle IBM Betriebssysteme, vergleichbar zu
Pearl oder Tcl/tk. Vollwertige Programmiersprache.
Weit verbreitet bei den Benutzern von S/390 Rechnern.
es 0505z ww6
wgs 09-99
REXX Programmierbeispiel
/* A short program to greet you
/* First display a prompt
*/
*/
say ‘Please type your name and then press ENTER:‘
parse pull answer
/* Get the reply into answer
*/
/* If nothing was typed, then use a fixed greeting
/* otherwise echo the name politely
*/
*/
if answer=‘‘
es 0505z ww6
then say ‘Hello Stranger! ‘
else say ‘Hello answer!‘
wgs 09-99
Programmarten
Subsysteme sind Programmprodukte wie Datenbanken und
Trans aktionsmonitore, die Laufzeitumgebungen für
eigentliche Benutzerprogramme zur Verfügung stellen.
Benutzerprogramme können sein:
 klassische z/OS (bzw. OS/390) Hintergrundprogramme
 Kundenanwendungen, die unter der Kontrolle von CICS,
IMS oder Websphere ablaufen, oder
 UNIX-Programme, die die UNIX System Services unter
z/OS ausnutzen.
Systems Management Funktionen werden für die
Steuerung und Überwachung des Ablaufes benötigt. Es
gibt sehr viele solcher Funktionen von der IBM und
Drittanbietern zur Überwachung des Betriebssystems und,
da sich das Betriebssystem in weiten Bereichen selbst
steuert, zur Überwachung der Middleware und der
Kundenanwendungen.
Zwei Arten der Datenverarbeitung
Interaktive Verarbeitung – Beispiel Excel:
Sie arbeiten mit einer großen Excel Tabelle und stoßen eine
Berechnung an, die viele Sekunden oder Minuten dauert.
Während der Berechnung blockiert der Rechner, reagiert
z.B. nicht auf Tastatur Eingaben.
Stapelverarbeitung – Beispiel Word for Windows:
Sie editieren ihre Diplomarbeit mit Word for Windows. Dies
ist ein interaktiver Prozess. Sie beschließen, die ganze
Arbeit auf Ihrem Tintenstrahldrucker probeweise
auszudrucken. Dies dauert viele Sekunden oder Minuten.
Während des Druckens blockiert der Rechner nicht. Sie
können die Diplomarbeit weiter editieren.
Hierzu setzt Word for Windows neben dem Editierprozess
einen getrennten Druckprozess auf. Der
Scheduler/Dispatcher des Betriebssystems stellt
zeitscheibengesteuert beiden Prozessen CPU Zeit zur
Verfügung.
Excel Prozess
Interaktiv
blockiert
editieren
WfW Editierprozess
berechnen
Druckprozess
Stapel
editieren
drucken
Interaktive und Stapelverarbeitung
Stapelverarbeitung unter Linux
Der cron-Daemon ist eine Jobsteuerung von Unix
bzw. Unix-artigen Betriebssystemen wie Linux, BSD
oder Mac OS X, die wiederkehrende Aufgaben
(cronjobs) automatisch zu einer bestimmten Zeit
ausführen kann.
Hierzu werden Skripte und Programme zu
vorgegebenen Zeiten gestartet. Der auszuführende
Befehl wird in einer Tabelle, der so genannten
crontab, gespeichert. Jeder Benutzer des Systems
darf eine solche crontab anlegen.
Diese Tabelle besteht aus sechs Spalten; Die ersten
fünf dienen der Zeitangabe (Minute, Stunde, Tag,
Monat, Wochentage), die letzte enthält den Befehl.
Die einzelnen Spalten werden durch Leerzeichen
oder Tabulatoren getrennt.
Häufig führt der Cron-Daemon wichtige Programme
für die Instandhaltung des Systems aus, wie zum
Beispiel Dienste für das regelmäßige Archivieren
und Löschen von Logdateien.
Beim Hochfahren eines Linux Systems wird als
Erstes cron gestartet. cron wiederum startet einen
Shell Prozess.
Griechisch chronos (χρόνος) bedeutet Zeit.
Cron
Cron is the name of a batch processing program that
enables unix users to execute commands or scripts
(groups of commands) automatically at a specified
time/date. It is normally used for sys admin
commands, like running a backup script, but can be
used for anything. A common use today is
connecting to the internet and downloading your
email.
Vixie cron and ISC Cron are modern versions,
included with most Linux distributions.
Cron is the software which most closely resembles
the z/OS Batch Processing facilities. However, the
z/OS Job Entry Subsystem (JES) provide functions
which go far beyond those offered by cron.
Ein Stapelverarbeitungsauftrag interagiert während seiner
Ausführung nicht mit dem Benutzer. Er kann während der
Ausführung temporär unterbrochen und wieder aufgenommen
werden, jenachdem ob Aufträge mit höherer Priorität die Ressourcen
dringender benötigen.werden
Bei einer interaktiven Verarbeitung monitored der Benutzer die
Ausführung und wartet auf die Ergebnisse.
Unix Shell
xxxx&
Unix Shell
Stapel
Verarbeitung
Interaktive
Verarbeitung
Betriebssystem
Hardware
Unix Grundstruktur
Die Stapelverarbeitung ist ein Sonderfall der interaktiven
Verarbeitung. In der Shellsprache werden Batch-Aufträge
durch ein nachgestelltes „&“ gekennzeichnet.
es 0118 ww6
wgs 04-99
Batch Processing
Eine Stapelverarbeitung erfolgt häufig in mehreren
Schritten.
Beispiel: Monatliche Kreditabrechnung in einer Bank.
Diese könnte z.B. aus den folgenden Schritten
bestehen:
1.Darlehnskonto abrechnen, Saldo um Tilgungsrate
verändern
2.Tilgung und Zinsen im laufenden Konto
(Kontokorrent) auf der Sollseite buchen
3.Globales Limit überprüfen
4.Bilanzpositionen (Konten)
5.G+V Positionen (Gewinn- und Verlust Konten)
6.Zinsabgrenzung monatlich für jährliche Zinszahlung
7.Bankmeldewesen (ein Kunde nimmt je 90 000.- DM
bei 10 Banken auf, läuft am Stichtag)
Ein derartiger Vorgang wird als Auftrag oder „Job“
bezeichnet. Ein Job besteht aus einzelnen
„Job Steps“.
es 0511 ww6
wgs 09-01
Stapelverarbeitung vs. Interaktive Verarbeitung
Batch Processing vs. Interactive Processing
Eine interaktiven Client/Server Verarbeitung erfolgt synchron. Der
Klient ruft ein Programm des Servers auf, und wartet (blokiert), bis die
Ergebnisse des Servers zurückkommen.
Eine Stapelverarbeitung erfolgt asynchron. Ein Klient ruft ein Server
Programm auf, und wendet sich dann anderen Aufgaben zu. Der
Klient fragt nicht, wann der Server mit der Stapelverarbeitung fertig
ist.
Die Benutzung eines Editors ist eine typische interaktive Anwendung.
Die monatliche Gehaltsabrechnung in einem Großunternehmen ist
typisch für eine Stapelverarbeitung.
Eine Stapelverarbeitung erfolgt häufig in mehreren Schritten. Ein
Beispiel sind die Buchungsvorgänge für die monatliche
Kreditabrechnung in einer Bank. Diese könnte z.B. aus den folgenden
Schritten bestehen:
8. Darlehnskonto abrechnen, Saldo um Tilgungsrate verändern
9. Tilgung und Zinsen im laufenden Konto (Kontokorrent) auf der
Sollseite buchen
10.Globales Limit überprüfen
11.Bilanzpositionen (Konten)
12.G+V Positionen (Gewinn- und Verlust Konten)
13.Zinsabgrenzung monatlich für jährliche Zinszahlung
14.Bankmeldewesen (ein Kunde nimmt je 90 000.- DM bei 10 Banken
auf, läuft am Stichtag)
Ein derartiger Vorgang wird als „Job“ bezeichnet. Ein Job besteht aus
einzelnen „Job Steps“.
es 0511 ww6
wgs 09-01
Jobs
Prozess (Process, Task)
Auftrag (Job)
Jedem Prozess sind Betriebsmittel zugeteilt :
(mindestens ein Prozessleitblock - Process Control
Block, PCB, Task Control Block, TCB).
Weitere Betriebsmittel :
 Hauptspeicherplatz,
 Anspruch auf CPU - Zeit,
 Zugriffsberechtigungen.
Ein Auftrag (JOB) wartet darauf, daß das System für
ihn einen (oder mehrere) Prozesse generiert.
JCL (Job Control Language) ist eine Scriptsprache, in
der die Ausführung eines Jobs beschrieben wird.
JES (Job Entry Subsystem) ist ein z/OS Subsystem,
welches die gleichzeitige Ausführung zahlreicher Jobs
steuert.
Batch Processing
Stapelverarbeitung
Batch-Jobs, auch Stapelverarbeitung oder BatchProzesse genannt, sind Programmroutinen, die zeitoder ereignisgesteuert ohne Interaktion mit dem
Benutzer ablaufen.
Die Hintergrundprogramme lesen Daten ein und
liefern Rückgabewerte sowie Statusinformationen
wie Laufzeit, Störungen und Fehlerbeschreibungen
zurück. Ein Job-Scheduler startet und überwacht die
Batch-Läufe. Praktisch alle Computersysteme
verfügen über solche Mechanismen.
Selbst Windows-Desktops verwenden Jobs,
beispielsweise zur Datensicherung oder zum
Ausdrucken von Dokumenten.
Firmen verwenden die Batch-Steuerung unter
anderem dazu, Massendaten wie Lohnabrechnungen
zu verarbeiten, Vertriebszahlen auszuwerten oder
Geschäftsinformationen in ein Data Warehouse zu
laden.
es 0626 ww6
wgs 07-04
What is batch processing?
Much of the work running on z/OS consists of
programs called batch jobs.
Batch processing is used for programs that can be
executed:
 With minimal human interaction
 At a scheduled time or on an as-needed basis.
After a batch job is submitted to the system for
execution, there is normally no further human
interaction with the job until it is complete.
Batch Processing(1)
Batch in z/OS: a job is submitted, it performs a long
series of things (calculations, I/Os), writes ist results
into a file, exits with RC
 Complex Queries (SQLJ instead of JDBC)
 Cheque and account processing
debits, credits, loans, credit rating
 Data Backups, Compression, Conversion
 Offline ATM processing
 System & Database maintenance
 Data replication & synchronization
 Processing exchanged B2B data
 Tape processing
 Printing
 File system maintenance, healthchecks,
compression…
 Configuration Jobs (wsadmin, RACF)
Batch Processing(2)
Enterprise Batch requires sophisticated functionality
(which is not available in distributed environments







Time dependent execution
Maintaining relationships
Adminstrative and controlling functions
Ability to control & manage system resources
Efficient multi tasking / multi user
Accounting abilities
Batch Execution environment
Batch Processing(3)
Can you imagine to run and control more the 10
batch jobs in a Windows or UNIX system in parallel?
Can you imagine to control the output of more then
10 batch jobs in a Windows or Unix system?
z/OS can run, administer and control ten thousands
of batch jobs in one Parallel Sysplex!
Submission eines Jobs
Ein „Job Control Programm“ (Äquivalent einer Bat
File unter DOS 6.22) besteht aus einer Reihe von
prozeduralen Befehlen , und wird in der „Job Control
Language“ (JCL) erstellt.
Die JCL hat ihren Ursprung im Lochkartenzeitalter.
Jeder JCL Befehl beginnt mit den beiden Zeichen „ //
„ und hat keinen Delimiter
(z.B. „ ; „ in C++) sondern statt dessen eine feste
Befehlslänge von genau 80 Zeichen.
Beispiel für einen JCL Befehl:
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=400)
RECFM, FB, LRECL und BLKSIZE sind
Schlüsselwörter der JCL Sprache.
Der Befehl besagt, daß die hiermit angesprochene
Datei (bzw. ihr Data Control Block, DCB) ein Fixed
Block (FB) Record Format (RECFM) hat (alle
Datensätze haben die gleiche Länge), dessen Länge
(Logical Record Length LRECL) 80 Bytes beträgt, und
daß für die Übertragung vom/zum Hauptspeicher
jeweils 5 Datensätze zu einem Block von (Blocksize
BLKSIZE) 400 Bytes zusammengefaßt werden.
Literatur
M.Winkler: „MVS/ESA JCL“. Oldenbourg, 3. Auflage, 1999
es 0507z ww6
wgs 09-99
Beispiel eines DOS 6.22 Jobs
auftrag.bat
f:
cd programme
able
baker
charlie
cd \
c:
able
f:\programme
able.exe
baker.exe
charlie.exe
xxx.dat
yyy.dat
zzz.dat
aaa.dat
baker
read xxx.dat
read yyy.dat
write yyy.dat
write zzz.dat
end
end
charlie
read zzz.dat
read xxx.dat
write aaa.dat
end
es 0583 ww6
wgs 07-02
Programm
Bibliothek
Job Control Script
xxx.auftrag.jcl
Job Step
1
Job Step
2
Job Step
3
Daten
Daten
Daten
Konzept eines z/OS Jobs
Da das JCL Programm die verwendeten Dateien angibt, ist
ein „late Binding“ der verwendeten Dateinen an die
auszuführenden Programme möglich.
Eine „Cataloged Procedure“ ist ein JCL Programm, welches
vom Benutzer für eine spätere Verwendung
zwischengespeichert wird (.z.B. in einer vom Benutzer
erstellten Library JCLLIB) und bei Bedarf mittels eines JCL
Befehls aufgerufen wird.
Es 0554
wgs 09-00
JCL
Symbolic references to files
z/OS normally uses symbolic references to files
(data sets) rather than actual file names.
The use of symbolic references provides a naming
redirection between a data set-related name used in
a program and the actual data set used during
execution of that program.
000100 //SPRUTHC
000200 //
JOB (),CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),
NOTIFY=&SYSUID, TIME=1440
000300 //PROCLIB
JCLLIB ORDER=CBC.SCBCPRC
000400 //CCL
EXEC PROC=EDCCB,
000500 //
INFILE='SPRUTH.TEST.C(HELLO1)',
000600 //
OUTFILE='SPRUTH.TEST.LOAD(HELLO1),DISP=SHR'
Ein einfaches JCL Script
JOB Statement markiert den Anfang eines Jobs
EXEC Statement bezeichnet Prozedur, die ausgeführt werden soll
PROC Statement gibt den Anfang einer Procedur an
DD Statement bezeichnet die zu benutzenden Dateien
/* Statement markiert das Ende von Daten, die in die JCL
Statements eingeführt werden
es 0363 ww6
wgs 09-01
ar 0121 ww6
wgs 09-02
PL/1 Programmierbeispiel
es 0545 ww6
wgs 09-00
Submission eines Jobs
Ein „Job Control Programm“ (Äquivalent einer Bat File unter
DOS 6.22) besteht aus einer Reihe von prozeduralen
Befehlen, und wird in einer Script Sprache, der „Job Control
Language“ (JCL) erstellt.
Die JCL hat ihren Ursprung im Lochkartenzeitalter. Jeder
JCL Befehl beginnt mit den beiden Zeichen „ // „ und hat
keinen Delimiter (z.B. „ ; „ in C++), sondern statt dessen eine
feste Befehlslänge von genau 80 Zeichen (genau genommen
72 Zeichen plus 8 folgende Steuerzeichen).
Beispiel für einen JCL Befehl:
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=400)
RECFM, FB, LRECL und BLKSIZE sind Schlüsselwörter der
JCL Sprache.
Der Befehl besagt, daß die hiermit angesprochene Datei
(bzw. ihr Data Control Block, DCB) ein Fixed Block (FB)
Record Format (RECFM) hat (alle Datensätze haben die
gleiche Länge), dessen Länge (Logical Record Length
LRECL) 80 Bytes beträgt, und daß für die Übertragung
vom/zum Hauptspeicher jeweils 5 Datensätze zu einem
Block von (Blocksize BLKSIZE) 400 Bytes zusammengefaßt
werden.
Literatur
M.Winkler: „MVS/ESA JCL“. Oldenbourg, 3. Auflage, 1999
es 0507z ww6
wgs 09-99
JES
Job Entry Subsystem
Job Scheduling Characteristics
1. At night, many batch jobs executing programs and
utilities are processed. These jobs consolidate the results
of the online transactions executed during the day.
2. The batch jobs generate reports of business statistics.
3. Backups of critical files and databases are made before
and after the batch window.
4. Reports with business statistics are sent to a specific
area for analysis during the following day.
5. Reports with exceptions are sent to the branch offices.
6. Monthly account balance reports are generated and sent
to all bank customers.
7. Reports with processing summary are sent to the partner
credit card company.
8. A credit card transaction report is received from the
partner company.
9. In the production control department, the operations
area is monitoring the messages on the system console
and the execution of the jobs.
10. Jobs and transactions are reading or updating the
database (the same database used by online transactions)
and many files are written to tape.
What is JES?
In the z/OS operating system, JES manages the
input and output job queues and data.
JES handles the following aspects of batch
processing for z/OS:





Receives jobs into the operating system
Schedules them for processing by z/OS
Controls their output processing
Accept and queue jobs submitted for execution
Queue jobs for an initiator -- a JES program that
requests the next job in the queue
 Accept output from a job while it is running and
queue the output
 Can print the output, or save it on spool for an
output manager to retrieve.
What is spooling?
Spooling is a method for queuing and holding data
for input or output.
JES uses one or more disk data sets for spooling.
Input jobs and printed output from many jobs are
stored in the single (conceptual) spool data set.
Spooling
Spooling is the means by which the system manipulates its
work, including:
 Using storage on direct access storage devices
(DASD) as buffer storage to reduce processing delays
when transferring data between peripheral equipment
and a program to be run.
 Reading and writing input and output streams on an
intermediate device for later processing or output.
 Performing an operation such as printing while the
computer is busy with other work.
To implement input spooling in JCL, you declare //DD *,
which defines one file whose content records are in JCL
between the //DD *statement and the /*statements. All
thelogical records must have 80 characters. In this case
this file is read and stored in a specific JES2 spool area (a
huge JES file on disk)
To implement output spooling in JCL, you specify the
keyword SYSOUT on the DD statement. SYSOUT defines an
empty file in the spool, allocated with logical records of 132
characters in a printed format (EBCDIC/ASCII/UNICODE).
This file is allocated by JES when interpreting a DD card
with the SYSOUT keyword, and used later for the step
program. Generally, after the end of the job, this file is
printed by a JES function.
What an initiator does
To run multiple jobs asynchronously, z/OS uses
initiators to:
 Ensure that jobs do not conflict in data set
usage
 Ensure that single-user devices (tape drives) are
allocated correctly
 Find executable programs requested by jobs
 Clean up after the job ends and request the next
job
Preventing two users from accessing the same data
at the same time is critical to z/OS and the ability to
do this is one of the defining characteristics of the
operating system.
JES, job management, and JCL
Job control language (JCL) is the language used by
a batch job to request resources and services
from the operating system.
Through JCL, you specify:
 Who you are (important for security reasons).
 Which resources (programs, files, memory) and
services are needed from the system to process
your program.
Job Scheduling
Mainframe operating systems are usually equipped
with sophisticated job scheduling software that
allows data center staff to submit, manage, and track
the execution and output of these batch jobs.
Batch processes have the following characteristics:
 Large amounts of input data are processed,
stored records accessed, and a large volume of
output is produced.
 Interactive response time is usually not the
primary requirement, and the jobs can take
several minutes to complete. However, batch
jobs often must complete within a “batch
window,” a period of less intensive online
activity prescribed by a service level agreement.
 Information is generated about large numbers of
users.
 A scheduled batch process consists of the
execution of hundreds or thousands of jobs in a
pre-established sequence. The process is
managed by a specific area in the IT
organization (the operations staff).
Voraussetzung für die Ausführung eines Jobs ist, daß
benutzte Programme und Dateien (Data Sets, Files)
bereits existieren.
Erstellung und Eingabe (Submission) eines Jobs
erfordert die folgenden Schritte:
1.Zuordnung einer Datei, welche das Job Control
Programm enthalten soll. (Kann unter ISPF
geschehen).
2.Editieren und Abspeichern der JCL Datei (unter
ISPF oder TSO)
3.Submission
Da das JCL Programm die verwendeten Dateien
angibt, ist ein „late Binding“ der verwendeten
Dateinen an die auszuführenden Programme möglich.
Eine „Cataloged Procedure“ ist ein JCL Programm,
welches vom Benutzer für eine spätere Verwendung
zwischengespeichert wird (.z.B. in einer vom Benutzer
erstellten Library JCLLIB) und bei Bedarf mittels
eines JCL Befehls aufgerufen wird.
es 0508z ww6
wgs 09-99
Job Scheduler
Job-Scheduler arbeiten nach dem Master/Agent-Konzept.
Der Master (JES2 oderJES3)
 initiiert die Batches,
 reiht sie je nach Priorität in Warteschlangen ein und
 kontrolliert deren Ablauf.
Die Agenten sind selbständige Prozesse, die in eigenen virtuellen
Adressräumen laufen. Sie
 führen die Jobs aus und
 senden Statusinformationen an die Steuerungskomponente
und/oder
 fertigen Laufzeitberichte an.
JES
Agent 1
Agent 2
Agent 3
/
Kernel
Z/OS bezeichnet die Agenten als „Initiator“.
es 0627 ww6
wgs 07-04
Initiator
Bei der Batch.Verarbeitung liest das Job Entry Subsystem
(JES) einen Job mit Hilfe eines Internal Readers ein und
interpretiert die Job Control Language (JCL) mit Hilfe des
Converter/Interpreter.
Der Initiator kontrolliert die Ausführung der einzelnen
Jobsteps. Er ist ein integraler Bestandteil von z/OS, der
JCL liest, interpretiert und ausführt. that reads, interprets,
and executes the JCL. Er läuft normalerweise in mehreren
Adressenräumen (als multiple initiators).
Ein Initiator steuert den Ablauf von Jobs, einen nach den
anderen innerhalb des gleichen adressenraums. Wenn z.B.
10 Initiators aktiv sind, dann laufen gleichzeitig 10 Batch
Jobs in 10 getrennten Adressenräumen.
Es 0533 ww6
wgs 08-00
INPUT
Ein Job wird über den Reader (Internal Reader) eingelesen
und auf dem Spool.Datenträger abgelegt. Er gelangt in die
JES Input Queue und erhält eine Jobnummer.
CONVERSION
Die JCL wird im Falle von Prozeduren ergänzt und auf
Gültigkeit überprüft. Es wird ein so genannter Internal Text
erstellt, der als Kontrollblockstruktur die
Batch.Verarbeitung gegenüber dem JES repräsentiert.
EXECUTION
Nach einem bestimmten Algorithmus und auf der Basis
von Priorit äten wird ein Job zur Ausführung ausgewählt.
Die Kontrollblöcke des ausgewählten Jobs werden dazu
einem freien Initiator übergeben.
OUTPUT
Die vom Programm erstellten Listen werden in der JES
Output Queue auf dem Spool.Datenträger gehalten, bis ein
freier Drucker bereit ist, die Listen auszudrucken, oder bis
der User/Operator den Output löscht (cancelt).
PURGE
Erst wenn der gesamte Output auf einen Drucker
ausgegeben wurde, werden die von einem Batchjob
belegten Bereiche auf dem Spool.Datentr äger gelöscht.
Job Entry Subsystem (JES)
Auf einem Großrechner laufen in der Regel zahlreiche Jobs
gleichzeitig und parallel (hunderte oder tausende von z. T.
langlaufenden Jobs während eines Tages).
Die Übergabe eines neuen Jobs an das Betriebssystem, das Queuing
von Jobs, die Prioritäts- und Ablaufsteuerung zahlreicher Jobs
untereinander, Startzeit und Wiederholfrequenz, Durchsatzoptimierung sowie die Zuordnung oder Sperrung von Resourcen ist
die Aufgabe eines Job Steuerungssystems.
Unter Windows ist dies der “Windows Scripting Host”. Unter Unix
existieren verschiedene Software Produkte, z.B. S+ batch, fbatch und
viele andere.
Die Übergabe (Submission) eines Stapelverarbeitungs-Jobs an das
Betriebssystem erfolgt durch einen Benutzer; bei einem Großrechner
durch einen spezifisch hierfür abgestellten Bediener (Operator). Unter
z/OS wird die Job Submission mit Hilfe des Job Entry Subsystems
(JES) automatisiert.
JES bewirkt:
 Zu Anfang der Bearbeitung die Zuordnung von Eingabe und
Ausgabe Ressourcen
 Während der Verarbeitung die Zuordnung von Ressourcen wie
CPU´s und Hauptspeicher
 Nach Abschluß der Bearbeitung die Freigabe der Ressourcen. Sie
werden damit für andere Jobs verfügbar.
Jobs werden an das Betriebssystem über JES gesteuerte Queue
Server (Initiator ) übergeben. Jeder Initiator bedient einen einzigen
virtuellen Adressenraum, in dem er auch selbst untergebracht ist..
Wenn ein Job abgeschlossen wird, wird der Initiator des
Adressraums aktiv und JES sendet den nächsten Job, der darauf
wartet, verarbeitet zu werden.
es 0509 ww6
wgs 09-99
Job Control Scheduling Levels
bs1002 ww6
wgs 11-02
JES2 und JES3
Aus historischen Gründen existieren zwei leicht unterschiedliche JES
Varianten: JES2 und JES3. In einer gegebenen OS/390 Installation
wird jeweils nur eine der beiden Varianten eingesetzt.
Die Mehrzahl der Installationen setzen JES2 ein, einschließlich
jedi.informatik.uni-leipzig.de. In großen SYSPLEX Konfigurationen ist
JES3 die bevorzugte Komponente.
neue Jobs
globales
JES3
lokales
JES3
lokales
JES3
lokales
JES3
lokales
JES3
Mt Hilfe einer zentralen Ressource Verwaltung und Zuordnung kann
ein „Single System Image“ erstellt werden, welches die verteilte
Struktur des SYSPLEX vor dem Benutzer weitgehend verbirgt.
Anwendungsprogrammierer können mit Hilfe von JCL ähnlichen
Befehlen in ihrem Code festlegen, daß der Job zu vorgegebenen
Zeitpunkten (z.B. täglich, monatlich oder jährlich) laufen soll.
es 0510z ww6
wgs 09-99
Using SDSF
After submitting a job, it is common to use System Display
and Search Facility (SDSF) a utility that lets you look at
output data sets. You can use SDSF to review the job
output for successful completion, or to find and fix JCL
errors.
Specifically, SDSF allows you to display printed output
held in the JES spool area. Much of the printed output sent
to JES by batch jobs (and other jobs) is never actually
printed. Instead it is inspected using SDSF and deleted or
used as needed.
 SDSF provides a number of additional functions,
including:
 Viewing the system log and searching for any literal
string
 Entering system commands
 Controlling job processing (hold, release, cancel, and
purge jobs)
 Monitoring jobs while they are being processed
 Displaying job output before deciding to print it
 Controlling the order in which jobs are processed
 Controlling the order in which output is printed
 Controlling printers and initiators
Business Process Automation
Automatisierung von
Geschäftsprozessen
Web Service Schnittstellen zum Job Scheduler
Zeitsteuerung und Ereignissteuerung
Ein Event ist beispielsweise das Unterschreiten des
minimalen Lagerbestands. In diesem Fall müssen
eine Reihe Jobs automatisch starten und koordiniert
werden, und zwar sowohl in den internen ITSystemen als auch in denen der Lieferanten.
es 0628 ww6
wgs 07-04
Job Scheduling Characteristics
Herunterladen