Ein Druck-Spool ist praktisch ein Puffer, der pro Auftrag verwaltet wird. Ein Programm (der Spooler) ist dafür verantwortlich, dass Aufträge vom Senden von Programmen empfangen und an einen oder mehrere Drucker weitergeleitet werden. Der Zweck eines Spool besteht darin, die Kommunikation zwischen zwei Systemen mit unterschiedlichen Geschwindigkeiten zu verwalten und den Zugriff auf gemeinsam genutzte Geräte zu steuern. Ersteres bedeutet, dass Programme Druckaufträge so schnell senden können, wie sie möchten, und dass diese Aufträge so schnell (oder langsam) verarbeitet werden, wie es Drucker können. Letztere (wie darauf hingewiesen durch RonJohn ) stellt sicher , dass Jobs kohärent verarbeitet werden: somit beim Drucken, werden Aufträge nicht vertauscht.
Netzwerkdrucker stellen ihre eigenen Spools bereit, und Druckserver (CUPS lpd
usw.) implementieren auch Spools. Die meisten Drucksysteme verarbeiten auch Zugriffskontrollen, Kontingente, Banner, Druckoptionen usw. Spools werden in anderen Zusammenhängen verwendet. So spoolen bandbasierte Sicherungsserver jetzt Sicherungsdaten von vernetzten Hosts auf einem schnellen festplattenbasierten Speichersystem, sodass sie moderne Bandlaufwerke mit der enormen Geschwindigkeit einspeisen können, die sie benötigen, um den Glanz des Bandlaufwerks zu vermeiden.
Im Kontext des Kommentars besteht die Relevanz einer Spule darin, dass sie die Druckauftragsübermittlung von ihrer Erfüllung entkorreliert. Kein Spoolen würde bedeuten, dass die Übermittlung nur mit dem Druckauftrag abgeschlossen wird und Ihr lpr
Befehl daher erst dann abgeschlossen wird, wenn der Auftrag abgeschlossen ist. Das Entfernen der Spule auf Ihrem Computer führt jedoch möglicherweise nicht zum gewünschten Ergebnis, da der Drucker selbst auch spulen kann!
/var/spool/mail
oder an einem ähnlichen Ort. Dies ist auch ein "Puffer", um das nahezu asynchrone Senden von E-Mail-Nachrichten zu ermöglichen. Die E-Mail-Nachricht wird gespoolt / in die Warteschlange gestellt und der E-Mail-Client muss nicht warten, bis die E-Mail das System tatsächlich verlässt. Sehr ähnlich wie ein Druckjob.write
abgeschlossen, sobald die Daten in den verwendeten Puffer (unter Linux in den Seiten-Cache) geschrieben wurden und nicht erst, wenn sich die Daten tatsächlich am Ziel befinden.read
ist auch nicht unbedingt nicht blockierend und kann weniger Daten als angefordert zurückgeben.lpr
gewartet wird, dass der Drucker den Auftrag akzeptiert, kann es dennoch zu Verzögerungen kommen, bevor er vollständig verarbeitet wurde.Kurz gesagt besteht ein Spooler aus:
In Ihrem Fall
lpr
sendet das Vordergrundprogramm ( ) seine Druckaufträge ancups
, speichert sie und verwendet dann serielle, parallele, USB-, Netzwerk-, ... Kommunikation, um den Druckvorgang tatsächlich zu starten.Selbst wenn der Drucker kein Papier mehr hat, können Sie den Computer heutzutage weiterhin verwenden. Als ich noch ein Kind bei CP / M war, war der gesamte Computer gesperrt, bis Sie mehr Papier hinzugefügt haben.
Warum heißt es "Spoolen"?
Zu dieser Zeit waren große Computer mit Bändern zum Speichern dieser Art von Dateien als Datenträger zu teuer. Wenn Sie also im Rechenzentrum arbeiteten, war das erste, was Sie hörten,, dass die Bänder sich zu drehen begannen¹ und erst nach einer Sekunde oder nach einer Sekunde 3-4 der Drucker würde mit dem Drucken beginnen (wenn Sie Glück hatten). ;-)
Anmerkung 1: Eine "Spule" ist ein Substantiv, das "eine zylindrische Vorrichtung, auf die ein Magnetband gewickelt werden kann" bedeutet, daher ist "Aufspulen" die zylindrische Vorrichtung, die das Band auf- und aufspult ...
quelle
Beginnen wir zunächst mit der Bedeutung des Begriffs „Spoolen“: Manchmal ist die Größe eines Dokuments größer als der Druckerspeicher, sodass durch „Druckerspoolen“ mehrere Dokumente an einen Drucker gesendet und alle diese Dokumente in eine Warteschlange gestellt werden können.
Nun gibt es unter Unix zwei Drucksysteme:
lpd
Daemon, um die Druckaufträge zu planen.lpsched
als Scheduler.Jeff Lessems USAIL: Unabhängiges Lernen in der Unix-Systemadministration enthält einen Abschnitt zum Drucken unter Unix, der einen guten Überblick über die BSD- und SVR4-Systeme bietet:
Das BSD-Spooling-System
Das SVR4-Spooling-System wird von Solaris und HP-UX verwendet. Es bietet mehr Kontrolle und Flexibilität, wurde jedoch nicht für den Netzwerkdruck entwickelt und ist komplizierter einzurichten.
Siehe auch: Drucker und Druckerspooler - Befehle lp, lpstat und cancel | Tipps & Tricks für den IT-Blog
quelle
Nie vergessen , dass SPOOL ein Akronym für ist S imultaneous P eripheral O Arbeitsvorgänge O n L ine. Seit den frühen (aber nicht frühen) Tagen der Datenverarbeitung haben Prozessoren Ergebnisse schneller generiert, als die Drucker sie drucken konnten. Ohne Spooling konnte der Prozessor einen "Druckauftrag" erst beenden, wenn der Druckvorgang selbst abgeschlossen war. Dies führte häufig dazu, dass ein Prozessor im Leerlauf auf den Drucker wartete.
Während des amerikanischen Raumfahrtprogramms kam ein großer Sprung nach vorne beim Spulen. Die Computer lieferten die Ergebnisse zu langsam, sodass ein neues Spooling-System nur für die NASA geschrieben wurde (obwohl es und seine Nachfolger an Popularität gewannen, bis alle IBM-Systeme sie hatten). Es wurde die genannte H Ouston A utomatische S pooling P rogram, wodurch HASP die erste nested Akronym.
Eine gute Analogie zum Spulen ist eine Fadenfabrik - der Faden wird schnell gesponnen und - wo auch immer - auf einer Spule gespeichert. Dann wird die Garnrolle schließlich auf eine Nähmaschine oder eine andere Maschine gelegt, die mit einer viel langsameren Geschwindigkeit läuft, wo sie verwendet wird, um ein fertiges Produkt herzustellen.
quelle
Spooling ist ein ziemlich alter Begriff. Heutzutage wird "Druckwarteschlange" häufiger verwendet.
To Queue ist ein britisches Sprichwort für "Warte in der Schlange". So werden Druckaufträge "in die Warteschlange gestellt", dh sie warten in der Schlange, bis sie gedruckt werden.
Nachdem der Spoolvorgang eines Auftrags abgeschlossen ist (es kann zu langen Wartezeiten zwischen den Druckzeilen kommen), wird der Auftrag im Allgemeinen auf FIFO-Basis gedruckt, die Priorität des Druckauftrags kann diese jedoch außer Kraft setzen.
Druckspulen und Warteschlangen können angehalten werden, damit die Bediener das Papier wechseln können. Das kann auch neu gestartet werden, wenn einige Seiten beschädigt wurden.
quelle