In the late 1950s and early 1960s, computers used SPOOL software, e.g., IBM "SPOOL System", 7070-IO-076, to copy files from one medium to another: punch card to tape, tape to punch card and tape to printer, with occasional use for card-to-card copying. Early mainframe computers had no disk drives and slightly more recent ones had, by current standards, small and expensive hard disks; in later systems SPOOL use of tape disappeared in favor of disks. The introduction of the relatively inexpensive IBM 1401 led to a temporary reduction in the use of SPOOL software.
The most common spooling application is print spooling: documents formatted for printing are stored usually into an area on a disk and retrieved and printed by a printer at its own rate. Printers typically can print only a single document at a time and require seconds or minutes to do so. With spooling, multiple processes can write documents to a print queue without waiting. As soon as a process has written its document to the spool device, the process can perform other tasks, while a separate printing process operates the printer.
For example, when a city prepares payroll checks, the actual computation may take a matter of minutes or even seconds, but the printing process might take hours. If the program printed directly, computing resources (CPU, memory, peripherals) would be tied up until the program was able to finish. The same is true of personal computers. Without spooling, a word processor would be unable to continue until printing finished. Without spooling, most programs would be relegated to patterns of fast processing and long waits, an inefficient paradigm.
Spooler or print management software may allow priorities to be assigned to jobs, notify users when they have printed, distribute jobs among several printers, allow stationery to be changed or select it automatically, generate banner pages to identify and separate print jobs, etc.
The temporary storage area to which E-mail is delivered by a Mail Transfer Agent and in which it waits to be picked up by a Mail User Agent is sometimes called a mail spool. Likewise, a storage area for Usenet articles may be referred to as a news spool. (On Unix-like systems, these areas are usually located in the /var/spool directory.) Mail and news spools usually allow random access to individual messages.
In the later 1960s and early 1970s, computers handled punch cards, and spooling systems such as HASP, FIDO, PATCHES, SHADOW & SHADOW II (primarily teleprocessing, but control program same as PATCHES), POWER, GRASP, and The Spooler found they could benefit batch programs by spooling card input and output. (Some centers directed punch card and printed output to tape for later processing. The term 'spooling' may derive from these reels or 'spools' of tape, although the terms normally used for tape were reel or tape volume; this etymology has not been sourced.)
Origin of the term
|This section needs additional citations for verification. (November 2008)|
According to Tanenbaum, "Spool" is an acronym for simultaneous peripheral operations on-line; for printers: simultaneous peripheral output on line. Possibly the term is influenced by the spool of a magnetic tape, the part on which tape is wound for later use, although historically that has been referred to as a reel.
|Look up spool or spooling in Wiktionary, the free dictionary.|
- Tanenbaum, Andrew S. Modern Operating Systems. 3rd Ed. Pearson Education, Inc., 2008. ISBN 978-0-13-600663-3
- Lundin, Leigh; Stoneman, Don (1977). The Spooler User Guide (2 ed.). Harrisonburg: DataCorp of Virginia.
- IBM 1401 Restoration Project
- IBM (February 26, 1971), The HASP System, February 26, 1971 HASP II (360D-05.1-014) V3M1, Version 3 Modification Level 1.
- IBM, z/OS V1R9.0 JES2 Introduction, SA22-7535-06.
- DOS/VS POWER/VS Installation and Operations, GC33-5403-1
- Virtual Storage Extended/Priority Output Writers, Execution Processors and Input Readers (VSE/POWER - 5686-CF9-03)