Spooling is a concept first introduced in computer printing in mainframes in the 1960s. It was brought to PC operating systems in the 1980s. A spooler is a resident program that appears to other programs in the computer to be a printer driver. Programs print to the spooler which packages up the printouts into discrete print jobs. Separate software then meters them out to a printer. This buffering operation allows multiple programs in multitasking systems to access the printer simultaneously. It allows programs that are printing large volumes of information to decouple themselves from the printer and to terminate or go on to other work without having to wait for a slow mechanical device to do its work. Spooling also allows print job handling software that may run with extensive privileges to be isolated from access by potentially malicious users since the programs that manage the actual printing do not need to be visible to the program that creates the printout.
Conceptually, spooling could be used with devices other than printers, but in other contexts, similar operations are usually referred to as buffering or caching. In practice, the term spooling almost always applies to printing.
It is sometimes asserted that spool is an acronym for "simultaneous peripheral operations on-line". That's possible, but not especially likely.
Return To Index
Copyright 1994-2002 by Donald Kenney.