Batchdatei

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:

  • Polyglott (Programmierung) — Ein polyglottes Programm (polyglott = mehrsprachig) ist ein Computerprogramm, dessen Quelltext in mehr als einer Programmiersprache gültig ist; d. h. es kann vom jeweiligen Interpreter bzw. Compiler jeder der dafür vorgesehenen Sprachen… …   Deutsch Wikipedia

  • Polyglotte Programme — Ein polyglottes Programm (polyglott = mehrsprachig) ist ein Computerprogramm, dessen Quelltext in mehr als einer Programmiersprache gültig ist; d. h. es kann vom jeweiligen Interpreter bzw. Compiler jeder der dafür vorgesehenen Sprachen… …   Deutsch Wikipedia

  • Polyglotte Programmierung — Ein polyglottes Programm (polyglott = mehrsprachig) ist ein Computerprogramm, dessen Quelltext in mehr als einer Programmiersprache gültig ist; d. h. es kann vom jeweiligen Interpreter bzw. Compiler jeder der dafür vorgesehenen Sprachen… …   Deutsch Wikipedia

  • Polyglottes Programm — Ein polyglottes Programm (polyglott = mehrsprachig) ist ein Computerprogramm, dessen Quelltext in mehr als einer Programmiersprache gültig ist; d. h. es kann vom jeweiligen Interpreter bzw. Compiler jeder der dafür vorgesehenen Sprachen… …   Deutsch Wikipedia

  • Microsoft Batch — Windows Batch Icon unter Windows Vista und Windows 7 Basisdaten Paradigmen: sektional, funktional Ers …   Deutsch Wikipedia

  • AUTOEXEC.BAT — Die AUTOEXEC.BAT (ab Windows 95 kann es auch als autoexec.bat klein geschrieben werden) ist eine System Konfigurationsdatei unter MS DOS basierten Computersystemen. Der Name der Datei ist ein Kofferwort aus den Begriffen automatic („automatisch“) …   Deutsch Wikipedia

  • Autoexec — Die autoexec.bat ist eine System Konfigurationsdatei unter MS DOS basierten Computersystemen. Der Name der Datei ist ein Kofferwort aus den Begriffen automatic („automatisch“) und execution („Durchführung“), wodurch ihre Funktion erklärt wird:… …   Deutsch Wikipedia

  • Autoexec.bat — Die autoexec.bat ist eine System Konfigurationsdatei unter MS DOS basierten Computersystemen. Der Name der Datei ist ein Kofferwort aus den Begriffen automatic („automatisch“) und execution („Durchführung“), wodurch ihre Funktion erklärt wird:… …   Deutsch Wikipedia

  • Autostart — ist die unter Microsoft Windows übliche Bezeichnung für das automatische Starten von Programmen beim Booten des Systems oder beim Anmelden. Ein solches Programm muss also nicht von einem Benutzer gestartet werden, sondern startet automatisch ohne …   Deutsch Wikipedia

  • Blood-Patch — Bei einem Bloodpatch handelt es sich grundlegend um eine Software Applikation, die den Zweck hat, den Gewaltgrad in einem Computer oder Videospiel zu steigern. Inhaltsverzeichnis 1 Ursachen, Definition und Erscheinung 1.1 Regionale Betroffenheit… …   Deutsch Wikipedia

Share the article and excerpts

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