Stapelverarbeitung
aus Wikipedia, der freien Enzyklopädie
Stapelverarbeitung oder auch Batchverarbeitung bezeichnet die Bearbeitung von Aufgaben nacheinander (sequentiell). Dies ist ein Ausdruck aus dem EDV-Bereich und wird synonym als Batchdatei, Batchfile, Batchprogrammierung, JCL verwendet.
Inhaltsverzeichnis |
[Bearbeiten] Ursprüngliche Bedeutung
Ursprünglich bedeutete es, dass Aufgaben nicht scheinbar gleichzeitig, sondern rein sequentiell durchgeführt werden. 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 Lochkarten in das System gegeben wurden. Heute spricht man immer noch von Batchverarbeitung und meint damit vor allem das Abarbeiten von Aufgaben- bzw. Befehlsketten, die während der Laufzeit keine Benutzerinteraktion erfordern. Man gibt einen Auftrag vor und der wird vom Computer erledigt, ohne dass der Benutzer weiter eingreifen muss.
Wörtlich übersetzt heißt Batch in diesem Zusammenhang Listenabarbeitung, Stapelverarbeitung.
Batch-Dateien werden in verschiedenen Betriebssystemen (z. B. MS-DOS, Unix) häufig genutzt. 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.
Auf Mainframes, die unter dem IBM-Betriebssystem z/OS (vormals MVS) laufen, spricht man von Jobs. Diese Batchverarbeitungen werden 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 DOS/Windows werden die Batchdateien üblicherweise mit der Dateinamenserweiterung .bat oder .cmd versehen. Unter Windows können sie durch einen Doppelklick gestartet werden.
Beim Apple Macintosh wird mit AppleScript gearbeitet. Das neueste System Mac OS X ist eine Unix-Variante und kennt auch Batchdateien im üblichen Sinn.
Bei z/OS sind Batchjobs 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.
GNUstep verwendet StepTalk, ein Smalltalk-Framework
Bei Unix bezeichnet man das Erstellen von Batchdateien als Shellscripting, was genau so einfach wie bei DOS funktioniert, aber viel leistungsfähiger ist, da unter Unix mehr Betriebssystembefehle bzw. -werkzeuge zur Verfügung stehen.
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 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.
[Bearbeiten] Vorteile
- einfach zu erstellen
- Wiederverwendbarkeit
- Zeitersparnis (bei der Ausführung)
[Bearbeiten] Batch-Skripte unter Windows
Batch-Dateien oder auch Stapelverarbeitungs-Dateien stammen zwar noch aus der Zeit von DOS, sind aber keineswegs von gestern. Im Gegenteil: Auch heute leisten sie unter allen Windows-Versionen wertvolle Arbeit. Immer, wenn häufig die gleichen Befehle ausgeführt werden sollen, bieten sich Batch-Dateien geradezu an. Genau das ist beispielsweise bei Anmeldeskripten der Fall. 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. Außerdem kann man Vergleiche durchführen, Variablen benutzen, Sprünge ausführen, Kommentare schreiben etc.
Unter Windows NT-basierten Systemen, dazu gehört auch Windows 2000, XP, Server 2003 und Vista 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 aber der Nachfolger der Cmd.exe-Shell sowie der Batchdateien unter dem Namen PowerShell veröffentlicht, der wesentlich komplexere Skripts zulässt.
[Bearbeiten] Vorteile gegenüber anderen Programmiersprachen
- kostenneutral
- sehr einfach zu erlernen
- keine Entwicklungsumgebung erforderlich
- Anpassungen / Erweiterungen jederzeit möglich
- Batchdateien können sich zur Laufzeit selbst verändern
[Bearbeiten] Nachteile gegenüber anderen Programmiersprachen
- funktionsarm
- ermöglicht lediglich einfache Aufgabenbewältigung
- langsam
[Bearbeiten] Weblinks
Wikibooks: Informationen zur Windows-Batch-Programmierung – Lern- und Lehrmaterialien |