Zum Inhalt springen

„Stapelverarbeitung“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
FlaBot (Diskussion | Beiträge)
K Bot: Automatisierte Textersetzung (-: == + ==)
K Wikilink aus Überschrift entfernt
 
(289 dazwischenliegende Versionen von mehr als 100 Benutzern, die nicht angezeigt werden)
Zeile 1: Zeile 1:
'''Stapelverarbeitung''', auch '''Batchverarbeitung''' genannt, ist ein Begriff aus der [[Datenverarbeitung]] und bezeichnet die Arbeitsweise von [[Computerprogramm]]en, bei der die in einem oder mehreren [[Datenbasis|Datenbeständen]] als [[Eingabe und Ausgabe|Eingabe]] bereitgestellte ''Menge an Aufgaben oder [[Daten#Informatik|Daten]]'' vollständig, automatisch und meist [[sequentieller Zugriff|sequenziell]] verarbeitet wird.
'''Batch''' ist ein Ausdruck aus dem [[EDV]]-Bereich, der eine Art der Aufgabenbearbeitung kennzeichnet.
Der Begriff wird auch im Zusammenhang mit '''Batchdatei''', '''Batchfile''', '''Batchprogrammierung''', [[JCL]] verwendet.


Die komplementäre Bearbeitungsform wird ''Dialogverarbeitung'' genannt. Dabei verarbeitet das [[Computerprogramm|Programm]] genau einen Vorgang (eine ''[[Transaktion (Informatik)|Transaktion]]''), der in der Regel von einem [[Benutzer]] [[Dialogcomputer|interaktiv]] über einen [[Bildschirmarbeitsplatz]] zur Bearbeitung angestoßen wird. Danach wartet das Programm auf weitere Transaktionen; evtl. parallel eintreffende Aufträge muss es nacheinander bzw. [[Multithreading|voneinander getrennt]] verarbeiten.
Ursprünglich bedeutete es, dass im Gegensatz zum [[Multitasking]] Aufgaben nicht scheinbar gleichzeitig, sondern rein sequentiell durchgeführt werden. Der Batch, also der Stapel, wird Aufgabe für Aufgabe abgearbeitet. In Großrechensystemen der Anfangszeit war die Stapelverarbeitung das Standardverfahren, bei dem die Anfragen der Benutzer eine nach der anderen abgearbeitet wurden. Ihren Namen hat die Stapelverarbeitung, weil die Eingaben als Stapel von [[Lochkarte]]n in das System gegeben wurden. Heute spricht man immer noch von Batchverarbeitung und meint damit vor allem das Abarbeiten von Programmen, die keine Benutzeraktion erfordern. Man gibt einen Auftrag vor und der wird vom Computer erledigt, ohne dass der Benutzer weiter eingreifen muss.


== Begriffsherkunft ==
Wörtlich übersetzt heißt Batch in diesem Zusammenhang '''Listenabarbeitung, Stapelbearbeitung'''.
Die Bezeichnung ''Stapelverarbeitung'' stammt aus der Anfangszeit der Datenverarbeitung, als interaktive Verarbeitung noch nicht möglich war. [[Datensatz|Datensätze]] lagen damals häufig in Form von [[Lochkarte]]n vor und wurden vom jeweiligen [[Computerprogramm]] – dessen [[Programmcode]] oft<!--Pgme wurden zB auch über Lochstreifen geladen--> ebenfalls als Lochkartenstapel vorlag – als Kartenstapel ({{enS|batch}}) nacheinander abgearbeitet. Als später die Lochkarte von anderen Speichermedien, z.&nbsp;B. [[Magnetband|Magnetbändern]] und [[Festplattenlaufwerk|Plattenlaufwerken]], abgelöst wurde und auch interaktives Arbeiten mit dem [[Dialogcomputer]] möglich wurde (mit direkten Eingaben über ein [[Terminal (Computer)|Terminal]]), blieb der Begriff erhalten und wird bis heute für nicht-interaktive Datenverarbeitung verwendet: Man gibt einen Auftrag vor; dieser wird vom Computer mit allen dazugehörenden Daten „ohne Eingriff des Benutzers der Reihe nach abgearbeitet“.<ref>[http://www.it-service24.com/lexikon/b/bat-dateien/ IT-Service24]</ref><ref>[http://wirtschaftslexikon.gabler.de/Archiv/56393/stapelbetrieb-v9.html Springer Gabler Verlag (Herausgeber), ''Gabler Wirtschaftslexikon'': ''Stichwort: Stapelbetrieb'']</ref> Auch die Arbeitsergebnisse liegen bei dieser Verarbeitungsform i.&nbsp;d.&nbsp;R. als ‚Menge‘ (ebenfalls {{enS|batch}}) vor, zum Beispiel als Belege, Listen ([[Bericht (Informatik)|Berichte]]), neue oder geänderte [[Datenbasis|Datenbestände]] usw.
Das englische Wort Batch hat viele Bedeutungen. Es heißt im Deutschen
-- das Bündel -- die Charge -- die Ladung -- das Fertigungslos -- die Menge -- die Partie -- der Satz -- der Schub -- die Sendung -- der Stapel -- der Stoß


== Varianten der Stapel-/Batchverarbeitung ==
Batch-Dateien werden in verschiedenen Betriebssystemen (z. B. [[DOS (Betriebssystem)|DOS]], [[Unix]]) häufig genutzt.
Der Begriff ''Stapelverarbeitung'' hat zwei voneinander abweichende Bedeutungen:
Man spricht heute mehr von Skript-Dateien, vom Konzept her ist es aber dasselbe.
Eine Reihe von Befehlen, die die Betriebssystemfunktionen nutzen, werden in einer Datei festgehalten und nach Starten des Skripts abgearbeitet.


=== Verarbeitung von Daten im Stapelbetrieb ===
Auf Mainframes, die unter dem [[IBM]]-Betriebssystem [[z/OS]] (vormals [[MVS]]) laufen, spricht man von [[Job]]s. Diese Batchverarbeitungen werden normalerweise durch eine Steuerungssoftware (z.B. OPC) gesteuert, können aber auch durch einen [[Time-Sharing_Option|TSO]]-Benutzer oder einen bereits laufenden Job oder eine [[Started Task]] ausgelöst werden.
In der kommerziellen Datenverarbeitung bezeichnet ''Stapelverarbeitung'' das automatische, sequentielle und vollständige Abarbeiten der in einer oder mehreren [[Eingabe und Ausgabe|Eingabedatei(en)]] enthaltenen [[Daten]]. Das Programm läuft dabei nach dem Start vollkommen selbstständig und i.&nbsp;d.&nbsp;R. ohne jegliche Benutzerinteraktion ab; Ausnahmen könnten z.&nbsp;B. Fehlersituationen mit der Notwendigkeit von [[Systemadministrator|Operator]]-Eingriffen sein. Es stellt seine Ergebnisse in Form von [[Datei]]en oder (über Insert / Update / Delete) in [[Datenbank]]en oder über andere [[Peripheriegerät|Ausgabegeräte]] (z.&nbsp;B. [[Drucker (Gerät)|Drucker]]) zur Verfügung.


;Beispiele für Stapel-Datenverarbeitung:
Bei MS-DOS/Windows werden die Batchdateien üblicherweise mit dem [[Extension|Dateityp]] '''.BAT''' versehen.
* Rechnungswesen: Einbuchen der Zahlungseingänge eines Arbeitstages; führt zu neuen Kontoständen
Unter Windows können sie durch Doppelklicken gestartet werden.
* Versandhandel: Erstellen von Rechnungen für ausgelieferte Artikel; zum Versand an die Kunden
Beim Macintosh wird mit AppleSkript gearbeitet.
* Mahnwesen: Erstellen von Mahnungen für Kunden, deren Rechnungen nach x Tagen noch unbezahlt sind
Das neueste System Mac OS X ist eine Unix-Variante und kennt auch Batchdateien im üblichen Sinn.
* Einzelhandel: Erstellen einer Verkaufsstatistik aus allen Verkäufen des laufenden Monats, mit Anzahl und Umsatzsumme je Artikelgruppe und Filiale
Bei z/OS sind Batchjobs in [[JCL]] geschrieben und normalerweise in einem [[Partitioned Dataset]] (JCL-Library) mit Recordformat FB und Recordlänge 80 abgelegt.
* Fotobearbeitung: Drehen aller Fotos (in einem bestimmten Ordner) um 90 Grad nach links
Eine Art Unterprogramm ist durch die Verwendung von [[Cataloged Procedures]] möglich.
* Rechenzentrum: Drucken von Daten, die von vorher gelaufenen Programmen zwischengespeichert wurden (siehe auch [[Spooling]])
* [[Migration (Informationstechnik)#Datenmigration|Datenmigration]]: Konvertieren von Daten/Dateien in ein anderes [[Dateiformat]] (siehe auch [[Dateikonverter]])


Die Struktur von Stapelprogrammen folgt häufig standardisierten Konzepten, zum Beispiel der [[Normierte Programmierung|normierten Programmierung]], weil der Ablauf in der internen Verarbeitung – bis auf aufgabenspezifische Details – identisch oder ähnlich sein kann.
Die folgende Demonstration zeigt, dass man unter [[DOS (Betriebssystem)|Dos]]ebene sogar ohne einen [[Texteditor|Editor]] einfach eine Batchdatei erstellen kann:
Man gibt folgenden Befehl ein:
COPY CON D.BAT
Dir *.*
Strg + z
So hat man ein Batchfile erstellt, das alle Dateien anzeigt, wenn man D und Return eingibt. Praktisch wird das aber nicht angewandt.


=== {{Anker|DOS|Kommandozeileninterpreter}}Ausführen von Shellkommandos ===
Bei [[Unix]] bezeichnet man das Erstellen von Batchdateien als [[Shellscripting]], was genau so einfach wie bei [[DOS (Betriebssystem)|DOS]] funktioniert, aber viel leistungsfähiger ist, da unter Unix mehr Betriebssystembefehle bzw. -werkzeuge zur Verfügung stehen.
{{Hauptartikel|Stapelverarbeitungsdatei}}
Der Begriff ''Stapelverarbeitung'' wird häufig auch für das Abarbeiten betriebssystemnaher Dienste und Aufgaben verwendet. In diesem Zusammenhang ist v.&nbsp;a. durch [[PC-kompatibles DOS|DOS]] auf dem [[IBM-PC-kompatibler Computer|PC]] ([[MS-DOS]], nach dem Erfolg des [[IBM Personal Computer|IBM&nbsp;PC]] mit dem nahezu identischen [[PC&nbsp;DOS]]), der Begriff ''Stapelverarbeitungsdatei'', von {{enS|Batch File}} (daher auch oft ''Batch-Datei''), bekannt geworden. Stapelverarbeitungsdateien sind technisch gesehen [[Textdatei]]en, die eine Reihe von [[Befehl (Computer)|Befehlen]] enthalten. Bei der Ausführung einer Stapelverarbeitungsdatei werden die enthaltenen Kommandos zeilenweise vom Befehlsinterpreter des jeweiligen [[Betriebssystem]]s abgearbeitet.


Prinzipiell können alle Kommandos, die auf der [[Kommandozeile#Betriebssysteme|Befehlszeile]] (auch Eingabeaufforderung oder [[Prompt]]) des [[Kommandozeileninterpreter]]s – der [[Shell (Betriebssystem)|Shell]] – möglich sind, auch in einer Stapelverarbeitungsdatei angewendet werden, und umgekehrt. Damit hängen die Skript-Fähigkeiten einer {{lang|en|Batch}}-Datei direkt vom verwendeten [[Interpreter]] der aktiven Shell ab. Das Äquivalent von Stapelverarbeitungsdateien unter [[Unixoides System|Unix-Betriebssystemen]] sind [[Shellskript]]e. Insgesamt findet der Begriff ''Skript'' anstelle von Stapelverarbeitungsdatei für diese Art der Verarbeitung immer mehr Verwendung, wie beispielsweise [[PowerShell]]-Skripte.
Administrative Arbeiten, welche bei Unix mittels Shell Scripts durchgeführt werden, werden bei [[z/OS]] heutzutage sehr oft mit [[REXX]] Scripts unter [[Time-Sharing_Option|TSO]] durchgeführt. Die Batchjobs werden in erster Linie für automatisierte Verarbeitungen (oft Massenverarbeitungen) eingesetzt. Das Betriebssystem enthält zur Jobsteuerung ein Job Entry Subsystem [[JES2]] oder [[JES3]].
== Vorteile ==
*einfach zu erstellen
*Wiederverwendbarkeit
*Zeitersparnis (bei der Ausführung)


== Steuern und Starten von Batch-Jobs ==
-------
Das Starten von Anwenderprogrammen zur Stapelverarbeitung geschieht über sog. [[Job (EDV)|Jobs]], die von Systemdiensten zur ''Job-Steuerung'' verwaltet werden. Je nach [[Betriebssystem]] werden diese Dienste unterschiedlich genannt.
== Batchdatei entwerfen ==
Wer eine Batchdatei entwerfen will, kann in der Datei folgende Befehle anwenden:
* ECHO ON/OFF = Schaltet die Wiedergabe des Pfades ein/aus
* ECHO [Text] = Zeigt einen Text auf dem Bildschirm beim ausführen des Batches an
* REM [Text] = Einfügen von Notizen in den Batch, der beim Ausführen nicht angezeigt wird
* GOTO [Zeile] = Überspringt einen Teil zur angegeben Zeile in der Batchdatei
* :[Name] = Gibt eine Sprungmarke an, die mit "GOTO" angesteuert werden kann
* @ = Lässt einen Befehl anzeigen/nicht anzeigen, der sonst nicht angezeigt/angezeigt wird


Zur Steuerung sind Steuerinformationen nötig, die (z.&nbsp;B. auf [[IBM]]-Betriebssystemen) mittels [[Job Control Language|JCL]] hinterlegt werden. Inhalt dieser Vorgaben sind in erster Linie die jeweiligen Programmaufrufe, ggf. erforderliche [[Parameter (Informatik)|Parameter]], die Namen (mit Pfad- und Laufwerksangabe) für zu verarbeitende und zu erzeugende Dateien etc. Das Job-Steuerungssystem verwaltet die Jobs und startet sie zu einem definierten Zeitpunkt und/oder nach einem (vorher eingetretenen) Ereignis, z.&nbsp;B. dem erfolgreichen Ende eines vorher ausgeführten Programms. Batch-Jobs werden daher oft lastoptimierend eingesetzt, d.&nbsp;h. dann bearbeitet, wenn wenig interaktive Arbeit anfällt (nachts, am Wochenende). Dies kann gleichermaßen für [[Anwendungsprogramm]]e und für [[Systemsoftware|Systemprogramm]]e (z.&nbsp;B. zur Datensicherung) zutreffen.
----
* IF (NOT) = Führt einen Befehl aus, wenn folgende Bedingungen (nicht) erfüllt sind:
* ERRORLEVEL [HEX-ZAHL] = der angegebene Buchstabe gedrückt wird
* EXIST [Datei] = angegebene Datei muss existieren, sonst wird der Befehl nicht ausgeführt
* NOT EXIST = angegebene Datei darf nicht existieren, sonst wird der Befehl nicht ausgeführt
* %[Zahl] [Bedingung] = verschiedenes mit einem bestimmten Parameter tun. Bsp.: "IF %2 EXIST GOTO RENAME": Wenn der Paramter 2 angegeben wurde, wird ein Teil der Batchdatei bis zu Zeile "RENAME" übersprungen.
----


Die Verarbeitung von Batch-Jobs war lange eine Domäne von [[Mainframe]]s. Auf Systemen, die unter dem [[IBM]]-Betriebssystem [[z/OS]] (vormals [[Multiple Virtual Storage|MVS]]) laufen, werden sie normalerweise durch eine Steuerungssoftware (z.&nbsp;B. [[Operation Planning and Control|OPC]]) gesteuert, können aber auch durch einen [[Time-Sharing Option|TSO]]-Benutzer oder einen bereits laufenden Job oder eine sogenannte Started-Task ausgelöst werden.
==siehe auch==


Bei z/OS sind Batch-Jobs in [[Job Control Language|JCL]] geschrieben und normalerweise in einem [[Partitioned Data Set]] (JCL-Library) mit Recordformat FB und Recordlänge 80 abgelegt. Eine Art von 'Schachtelung' ist durch die Verwendung ''katalogisierter Prozeduren'' möglich. Administrative Arbeiten, welche bei Unix mittels [[Shellskript]]en durchgeführt werden, werden bei z/OS heutzutage sehr oft mit [[REXX]]-Skripten unter TSO durchgeführt. Die Batch-Jobs werden in erster Linie für automatisierte Verarbeitungen (oft Massenverarbeitungen) eingesetzt. Das Betriebssystem enthält zur Jobsteuerung ein [[Job Entry Subsystem]] ''JES2'' oder ''JES3''.
* [[Batch-Nummer]]n in der [[Genealogie]]

Batch-Jobs analog zu denen der z/OS-Mainframes sind inzwischen auch auf [[Unix]]-basierten Servern möglich und insbesondere im [[Hochleistungsrechnen]] auch üblich. Hierzu werden spezielle Batchjob-Scheduler verwendet, die insbesondere die Herausforderungen von programminterner Parallelität handhaben können. Einfache Stapelverarbeitung ist mittels [[Cron]]jobs auf Unix/[[Linux]] denkbar.

Unter dem Betriebssystem [[OpenVMS]] werden Batch-Jobs, die z.&nbsp;B. mittels der Kommandosprache [[Digital Command Language|DCL]] programmiert werden können, durch sogenannte Batch-Queues unterstützt. Diese Queues können auf vielseitige Weise eingerichtet werden und sorgen für eine automatisierte Abarbeitung der Batch-Jobs.

== Siehe auch ==
* [[Eingabeaufforderung]]
* [[Kommandozeileninterpreter]]


== Weblinks ==
== Weblinks ==
{{Wikibooks2|Batch-Programmierung|Informationen zur Windows-Batch-Programmierung}}
{{Wikibooks|Batch-Programmierung|Informationen zur Windows-Batch-Programmierung}}
* Matthias Schöpe: [http://computer-masters.de/tutorial-windows-batch-dateien-erstellen-und-nutzen/ ''Windows Batch-Dateien erstellen und nutzen.''] In: ''Computer-Masters.com.''
* http://www.admini.de Umfangreiche Informationen über Batchprogrammierung unter NT/2000/XP
* http://www.fpschultze.de/batstuff.html Batch Scripting Site mit vielen Beispielen
* http://www.knowware.de/batch.htm
** http://download.knowware.de/batch.pdf Leicht verständliche Einführung
* http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2B510/CCONTENTS?SHELF=IEA2BK32&DN=SA22-7598-01&DT=20010626133938 englischsprachiges JCL Benutzerhandbuch


== Einzelnachweise ==
[[Kategorie:Skriptsprache]]
<references />


[[Kategorie:Praktische Informatik]]
[[en:Batch processing]]

Aktuelle Version vom 11. November 2023, 16:34 Uhr

Stapelverarbeitung, auch Batchverarbeitung genannt, ist ein Begriff aus der Datenverarbeitung und bezeichnet die Arbeitsweise von Computerprogrammen, bei der die in einem oder mehreren Datenbeständen als Eingabe bereitgestellte Menge an Aufgaben oder Daten vollständig, automatisch und meist sequenziell verarbeitet wird.

Die komplementäre Bearbeitungsform wird Dialogverarbeitung genannt. Dabei verarbeitet das Programm genau einen Vorgang (eine Transaktion), der in der Regel von einem Benutzer interaktiv über einen Bildschirmarbeitsplatz zur Bearbeitung angestoßen wird. Danach wartet das Programm auf weitere Transaktionen; evtl. parallel eintreffende Aufträge muss es nacheinander bzw. voneinander getrennt verarbeiten.

Begriffsherkunft

[Bearbeiten | Quelltext bearbeiten]

Die Bezeichnung Stapelverarbeitung stammt aus der Anfangszeit der Datenverarbeitung, als interaktive Verarbeitung noch nicht möglich war. Datensätze lagen damals häufig in Form von Lochkarten vor und wurden vom jeweiligen Computerprogramm – dessen Programmcode oft ebenfalls als Lochkartenstapel vorlag – als Kartenstapel (englisch batch) nacheinander abgearbeitet. Als später die Lochkarte von anderen Speichermedien, z. B. Magnetbändern und Plattenlaufwerken, abgelöst wurde und auch interaktives Arbeiten mit dem Dialogcomputer möglich wurde (mit direkten Eingaben über ein Terminal), blieb der Begriff erhalten und wird bis heute für nicht-interaktive Datenverarbeitung verwendet: Man gibt einen Auftrag vor; dieser wird vom Computer mit allen dazugehörenden Daten „ohne Eingriff des Benutzers der Reihe nach abgearbeitet“.[1][2] Auch die Arbeitsergebnisse liegen bei dieser Verarbeitungsform i. d. R. als ‚Menge‘ (ebenfalls englisch batch) vor, zum Beispiel als Belege, Listen (Berichte), neue oder geänderte Datenbestände usw.

Varianten der Stapel-/Batchverarbeitung

[Bearbeiten | Quelltext bearbeiten]

Der Begriff Stapelverarbeitung hat zwei voneinander abweichende Bedeutungen:

Verarbeitung von Daten im Stapelbetrieb

[Bearbeiten | Quelltext bearbeiten]

In der kommerziellen Datenverarbeitung bezeichnet Stapelverarbeitung das automatische, sequentielle und vollständige Abarbeiten der in einer oder mehreren Eingabedatei(en) enthaltenen Daten. Das Programm läuft dabei nach dem Start vollkommen selbstständig und i. d. R. ohne jegliche Benutzerinteraktion ab; Ausnahmen könnten z. B. Fehlersituationen mit der Notwendigkeit von Operator-Eingriffen sein. Es stellt seine Ergebnisse in Form von Dateien oder (über Insert / Update / Delete) in Datenbanken oder über andere Ausgabegeräte (z. B. Drucker) zur Verfügung.

Beispiele für Stapel-Datenverarbeitung
  • Rechnungswesen: Einbuchen der Zahlungseingänge eines Arbeitstages; führt zu neuen Kontoständen
  • Versandhandel: Erstellen von Rechnungen für ausgelieferte Artikel; zum Versand an die Kunden
  • Mahnwesen: Erstellen von Mahnungen für Kunden, deren Rechnungen nach x Tagen noch unbezahlt sind
  • Einzelhandel: Erstellen einer Verkaufsstatistik aus allen Verkäufen des laufenden Monats, mit Anzahl und Umsatzsumme je Artikelgruppe und Filiale
  • Fotobearbeitung: Drehen aller Fotos (in einem bestimmten Ordner) um 90 Grad nach links
  • Rechenzentrum: Drucken von Daten, die von vorher gelaufenen Programmen zwischengespeichert wurden (siehe auch Spooling)
  • Datenmigration: Konvertieren von Daten/Dateien in ein anderes Dateiformat (siehe auch Dateikonverter)

Die Struktur von Stapelprogrammen folgt häufig standardisierten Konzepten, zum Beispiel der normierten Programmierung, weil der Ablauf in der internen Verarbeitung – bis auf aufgabenspezifische Details – identisch oder ähnlich sein kann.

Ausführen von Shellkommandos

[Bearbeiten | Quelltext bearbeiten]

Der Begriff Stapelverarbeitung wird häufig auch für das Abarbeiten betriebssystemnaher Dienste und Aufgaben verwendet. In diesem Zusammenhang ist v. a. durch DOS auf dem PC (MS-DOS, nach dem Erfolg des IBM PC mit dem nahezu identischen PC DOS), der Begriff Stapelverarbeitungsdatei, von englisch Batch File (daher auch oft Batch-Datei), bekannt geworden. Stapelverarbeitungsdateien sind technisch gesehen Textdateien, die eine Reihe von Befehlen enthalten. Bei der Ausführung einer Stapelverarbeitungsdatei werden die enthaltenen Kommandos zeilenweise vom Befehlsinterpreter des jeweiligen Betriebssystems abgearbeitet.

Prinzipiell können alle Kommandos, die auf der Befehlszeile (auch Eingabeaufforderung oder Prompt) des Kommandozeileninterpreters – der Shell – möglich sind, auch in einer Stapelverarbeitungsdatei angewendet werden, und umgekehrt. Damit hängen die Skript-Fähigkeiten einer Batch-Datei direkt vom verwendeten Interpreter der aktiven Shell ab. Das Äquivalent von Stapelverarbeitungsdateien unter Unix-Betriebssystemen sind Shellskripte. Insgesamt findet der Begriff Skript anstelle von Stapelverarbeitungsdatei für diese Art der Verarbeitung immer mehr Verwendung, wie beispielsweise PowerShell-Skripte.

Steuern und Starten von Batch-Jobs

[Bearbeiten | Quelltext bearbeiten]

Das Starten von Anwenderprogrammen zur Stapelverarbeitung geschieht über sog. Jobs, die von Systemdiensten zur Job-Steuerung verwaltet werden. Je nach Betriebssystem werden diese Dienste unterschiedlich genannt.

Zur Steuerung sind Steuerinformationen nötig, die (z. B. auf IBM-Betriebssystemen) mittels JCL hinterlegt werden. Inhalt dieser Vorgaben sind in erster Linie die jeweiligen Programmaufrufe, ggf. erforderliche Parameter, die Namen (mit Pfad- und Laufwerksangabe) für zu verarbeitende und zu erzeugende Dateien etc. Das Job-Steuerungssystem verwaltet die Jobs und startet sie zu einem definierten Zeitpunkt und/oder nach einem (vorher eingetretenen) Ereignis, z. B. dem erfolgreichen Ende eines vorher ausgeführten Programms. Batch-Jobs werden daher oft lastoptimierend eingesetzt, d. h. dann bearbeitet, wenn wenig interaktive Arbeit anfällt (nachts, am Wochenende). Dies kann gleichermaßen für Anwendungsprogramme und für Systemprogramme (z. B. zur Datensicherung) zutreffen.

Die Verarbeitung von Batch-Jobs war lange eine Domäne von Mainframes. Auf Systemen, die unter dem IBM-Betriebssystem z/OS (vormals MVS) laufen, werden sie normalerweise durch eine Steuerungssoftware (z. B. OPC) gesteuert, können aber auch durch einen TSO-Benutzer oder einen bereits laufenden Job oder eine sogenannte Started-Task ausgelöst werden.

Bei z/OS sind Batch-Jobs in JCL geschrieben und normalerweise in einem Partitioned Data Set (JCL-Library) mit Recordformat FB und Recordlänge 80 abgelegt. Eine Art von 'Schachtelung' ist durch die Verwendung katalogisierter Prozeduren möglich. Administrative Arbeiten, welche bei Unix mittels Shellskripten durchgeführt werden, werden bei z/OS heutzutage sehr oft mit REXX-Skripten unter TSO durchgeführt. Die Batch-Jobs werden in erster Linie für automatisierte Verarbeitungen (oft Massenverarbeitungen) eingesetzt. Das Betriebssystem enthält zur Jobsteuerung ein Job Entry Subsystem JES2 oder JES3.

Batch-Jobs analog zu denen der z/OS-Mainframes sind inzwischen auch auf Unix-basierten Servern möglich und insbesondere im Hochleistungsrechnen auch üblich. Hierzu werden spezielle Batchjob-Scheduler verwendet, die insbesondere die Herausforderungen von programminterner Parallelität handhaben können. Einfache Stapelverarbeitung ist mittels Cronjobs auf Unix/Linux denkbar.

Unter dem Betriebssystem OpenVMS werden Batch-Jobs, die z. B. mittels der Kommandosprache DCL programmiert werden können, durch sogenannte Batch-Queues unterstützt. Diese Queues können auf vielseitige Weise eingerichtet werden und sorgen für eine automatisierte Abarbeitung der Batch-Jobs.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. IT-Service24
  2. Springer Gabler Verlag (Herausgeber), Gabler Wirtschaftslexikon: Stichwort: Stapelbetrieb