Zum Inhalt springen

Stapelverarbeitung

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 17. Oktober 2005 um 12:34 Uhr durch 141.113.100.23 (Diskussion) (Ursprüngliche Bedeutung: Link korr.). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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.

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 Programmen, die keine Benutzeraktion 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. 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 MS-DOS/Windows werden die Batchdateien üblicherweise mit der Dateiendung .bat versehen. Unter Windows können sie durch einen Doppelklick gestartet werden. Beim 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 Dataset (JCL-Library) mit Recordformat FB und Recordlänge 80 abgelegt. Eine Art Unterprogramm ist durch die Verwendung von Cataloged Procedures möglich.

Die folgende Demonstration zeigt, dass man in der DOS-Ebene sogar ohne einen Editor einfach eine Batchdatei erstellen kann: Man gibt folgenden Befehl ein:

COPY CON D.BAT
Dir *.txt
Strg + z

So hat man ein Batchfile erstellt, das alle Dateien mit der Endung .TXT anzeigt, wenn man D und Return eingibt. Praktisch wird das aber nicht angewandt.

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.

Vorteile

  • einfach zu erstellen
  • Wiederverwendbarkeit
  • Zeitersparnis (bei der Ausführung)

Batchdatei entwerfen

Wer eine Batchdatei entwerfen will, kann in der Datei folgende Befehle anwenden:

  • ECHO ON/OFF = Schaltet die Befehlsanzeige für nachfolgende Befehle 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
  • @[Befehl] = Lässt einen Befehl nicht anzeigen, der sonst angezeigt wird
  • IF (NOT) = Führt einen Befehl aus, wenn die Folgebedingung (nicht) erfüllt ist
  • FOR = Führt einen Befehl für jede einzelne Datei für einen Satz von Dateien aus
  • 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] = verschiedenes mit einem bestimmten Parameter tun. Bsp.: "IF NOT "%2"=="" GOTO RENAME": Wenn der zweite Parameter angegeben wurde, wird ein Teil der Batchdatei bis zu der Zeile mit dem Label "RENAME" (":RENAME") übersprungen.

Vorlage:Wikibooks2