Batchprogrammierung

Batchprogrammierung

Stapelverarbeitung oder auch Batchverarbeitung ist ein Begriff aus der EDV und bezeichnet die sequentielle, nicht-interaktive Bearbeitung von Aufgaben.

Inhaltsverzeichnis

Herkunft

Die Bezeichnung „Stapelverarbeitung“ stammt aus der Anfangszeit der Datenverarbeitung, als interaktive Verarbeitung noch nicht möglich war. Programme und Datensätze wurden damals auf Lochkarten gestanzt, die Lochkarten wurden auf einen Kartenstapel (batch) gelegt und nacheinander abgearbeitet. Als später die Lochkarte als Eingabemedium vom Terminal abgelöst und damit interaktives Arbeiten möglich wurde, blieb der Begriff erhalten und wird bis heute (in zwei voneinander abweichenden Bedeutungen) für nicht-interaktive Datenverarbeitung verwendet. Man gibt einen Auftrag vor und der wird vom Computer erledigt, ohne dass der Benutzer weiter eingreifen muss.

Verarbeitung von Batch-Dateien

Stapelverarbeitung im Sinne von Listenabarbeitung wird häufig für betriebssystemnahe Dienste und Aufgaben verwendet. Für solche Listen ist v. a. durch MS-DOS der Begriff Batch-Datei oder Batch-File bekannt geworden. Batch-Dateien enthalten eine Reihe von Befehlen, die die Betriebssystem-Funktionen nutzen; diese werden nach Starten der Datei Schritt für Schritt, wie ein Programm, abgearbeitet. Bei DOS/Windows werden die Batch-Dateien üblicherweise mit der Dateinamenserweiterung .bat oder .cmd versehen. Unter Windows können sie durch einen Doppelklick gestartet werden. Bei Unix bezeichnet man Batch-Dateien als Shellskript. Diese sind wesentlich leistungsfähiger als die ersten DOS-Batch-Programme (bis Windows 9x, siehe auch Command.com), da unter Unix mehr Betriebssystem-Befehle oder -Werkzeuge zur Verfügung stehen. Bei Apple Macintosh werden diese Programme AppleScript genannt. Das aktuelle System Mac OS X ist ebenfalls eine Unix-Variante und kennt auch Batch-Dateien im üblichen Sinn. GNUstep verwendet StepTalk, ein Smalltalk-Framework. Insgesamt findet der Begriff Skript, auch für Batch-Programme, immer mehr Verwendung.

Verarbeitung von Batch-Jobs

Dem Ursprung der Batch-Verarbeitung, der in der nicht-interaktiven Bearbeitung von Anwenderprogrammen lag, folgt die Verarbeitung von Batch-Jobs. Batch-Jobs sind Anwenderprogramme, die durch geeignete Maßnahmen auf eine nicht-interaktive Ausführung vorbereitet und zur Ausführung an einen Systemdienst (das Batch-System) übergeben wurden.

Für die Batch-Verarbeitung benötigen die Jobs neben ihrem auszuführenden Programm eine Reihe von Steuerinformationen, die z. B. mittels JCL (auf IBM-Betriebssystemen) programmiert und dann vom Batch-System interpretiert werden. Das Batch-System ermittelt anhand der Steuerinformationen einen geeigneten Startzeitpunkt und verwaltet den Joblauf, ohne dass der Nutzer sich darum kümmern muss. Batch-Jobs werden daher oft lastoptimierend eingesetzt, d. h. dann bearbeitet, wenn wenig interaktive Arbeit anfällt (nachts, am Wochenende).

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 so genannte 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 Unterprogramm ist durch die Verwendung von Cataloged Procedures 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.

Batch-Skripte unter Windows

Die Batch-Skripte, auch Batch-Programme oder Stapelverarbeitungsprogramme genannt, stammen aus der Zeit von DOS und sind bis heute unter allen Windows-Versionen ausführbar. Immer wenn häufig die gleichen Befehle ausgeführt werden sollen, bieten sich Batch-Skripte an, so etwa für automatisierte Anmeldevorgänge. Es ist auch möglich, die Ausführung einzelner Befehlszeilen von einer Bedingung abhängig zu machen. Dafür gibt es Konstrukte wie IF oder IF NOT. Neben diesen Bedingungsoperatoren können auch Variablen genutzt, Sprünge ausgeführt und Kommentare geschrieben werden.

Unter Windows-NT-basierten Systemen gibt es außerdem so genannte Befehlserweiterungen, die insbesondere die IF und FOR-Befehle stark aufwerten, indem sie z. B. auch Vergleiche von Werten anbieten.

Mittlerweile wurde auch ein möglicher Nachfolger der Cmd.exe-Shell unter dem Namen Windows PowerShell von Microsoft veröffentlicht, welcher wesentlich komplexere Batch-Skripte zulässt.

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • AmigaOS — Basisdaten Entwickler Commodore International (1.0 3.1) Haage &am …   Deutsch Wikipedia

  • PostScript — Vorlage:Infobox Dateiformat/Wartung/Art fehltVorlage:Infobox Dateiformat/Wartung/Standard fehltVorlage:Infobox Dateiformat/Wartung/Website fehlt PostScript Dateiendung: .ps MIME Type …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”