Spooling

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Spooling (von englisch für „aufspulen“) ist ein Vorgang z. B. 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. Spooling wird vor allem dann verwendet, wenn die Datenausgabe deutlich schneller erzeugt wird, als das Zielgerät die Verarbeitung vornehmen kann.

Durch diese Trennung von Produktion und Weiterverarbeitung oder Ausgabe der Daten ist es möglich, die Auslastung der Teilsysteme zu verbessern. So können die produzierenden Prozesse ohne Verzögerung weiterarbeiten (solange Speicherplatz im Puffer vorhanden ist), obwohl die Verarbeitung der Ausgabe langsamer erfolgt. Das verarbeitende System erledigt dann zurückliegende Aufträge, während das produzierende System bereits neue Aufgaben erledigt.

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:

Geschwindigkeit
Meist ist die Festplatte schneller als das Ausgabegerät. Dadurch kann die Anwendung zügig fortgesetzt werden, indem der Druckjob auf die Festplatte geschrieben wird, ohne auf die Ausgabe warten zu müssen.
Mehrfachnutzung von Geräten
Ein Spooler kann zahlreiche Aufträge für ein Gerät zwischenspeichern. Dadurch können sich z. B. mehrere Personen bzw. Prozesse einen Drucker teilen, ohne sich gegenseitig zu behindern.
Persistenz
Ein Spooler löscht seinen Zwischenspeicher nicht zwangsläufig, wenn der Auftrag abgearbeitet ist. Dadurch kann z. B. ein Ausdruck wiederholt werden, wenn das Farbband schlecht war, ohne das Anwendungsprogramm erneut zu starten.

Spooler[Bearbeiten]

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 im Regelfall der älteste Druckauftrag verarbeitet, bis schließlich 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 Informationstechnik kennt man den Druckerspooler auch als den Plotterspooler.

Begriff[Bearbeiten]

Spool wird meist als Akronym des englischen Begriffs Simultaneous Peripheral Operation On-Line angesehen (also etwa Gleichzeitiger Gerätebetrieb während der Verarbeitung). Ob es aber auch als Backronym angesehen werden kann, ist fraglich. 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. Der Begriff zielt in seiner Bedeutung jedoch auf die Datenausgabe im Hintergrund, also Aufspulen/Abspulen im übertragenen Sinne, nicht auf physisches Spulen.

Siehe auch[Bearbeiten]