Heim

Spooling

Spooling ist ein Vorgang in Betriebssystemen, bei welchem zu bearbeitende Aufträge (etwa Druckaufträge) in einem Puffer im Speicher oder auf einem externen Datenspeicher gelagert werden, bevor sie der eigentlichen Verarbeitung zugeleitet werden. Die Abarbeitung der im Puffer gehaltenen Aufträge durch das verarbeitende System erfolgt als Stapelverarbeitung.

Durch diese Trennung der Produktion und Weiterverarbeitung oder Ausgabe von Daten ist es möglich, die Auslastung der Teilsysteme zu verbessern. So können einerseits die produzierenden Prozesse ohne Verzögerung weiterarbeiten (solange Speicherplatz im Puffer vorhanden ist), wenn die Verarbeitung langsamer erfolgt; andererseits kann das verarbeitende System zurückliegende Aufträge abarbeiten, während das produzierende System zeitaufwändige Berechnungen durchführt.

Typisches Beispiel ist hier die Druckerwarteschlange, in der Druckaufträge gesammelt und nacheinander abgearbeitet werden. Auch Mailserver sammeln zu versendende Mails üblicherweise in einem Spool-Verzeichnis, von dem aus sie dann verschickt werden.

Spooling bietet mehrere Vorteile:

Spooler

Als Spooler bezeichnet man ein Systemprogramm oder einen Dienst, welcher Aufgaben (z.B. Druckaufträge) von Anwendungsprogrammen in eine Warteschlange setzt und von dort aus an das Ziel (z.B. Drucker) übergibt. Zum Beispiel werden Druckaufträge nicht direkt an einen Drucker geschickt, sondern an den Spooler. Dieses Systemprogramm nimmt die Aufträge der Benutzer entgegen und wartet, bis das Gerät wieder einen Ausdruck verarbeiten kann. Wenn das zugehörige Gerät frei ist, wird der älteste Druckauftrag verarbeitet, bis alle wartenden Aufträge abgearbeitet sind. Ein guter Spooler ermöglicht es dem Benutzer die Reihenfolge von Aufträgen in der Warteschlange zu ändern oder Aufträge abzubrechen.

In der Informationstechnologie kennt man den Druckerspooler auch als den Plotterspooler.


Wortherkunft

Spool wird meist als Akronym des englischen Begriffs Simultaneous Peripheral Operation On-Line angesehen (also etwa Gleichzeitiger Gerätebetrieb während der Verarbeitung), es kann sich aber auch um ein Backronym handeln. In der Tat war auf Mainframe-Rechnern der Speicherplatz auf Festplatten und im Hauptspeicher wesentlich teurer als der Speicherplatz auf Magnetbändern, sodass Druckjobs auf ein Band (auf Spulen, engl. "spools") geschrieben wurden, das dann vom Drucksystem gelesen wurde.

Siehe auch