User Contributed Dictionary
Verb
spooling- present participle of spool
Extensive Definition
- For use of this term to refer to thrust changes in jet engines, see Jet engine
In computer
science, spooling refers to a process of transferring data by
placing it in a temporary working area where another program may
access it for processing at a later point in time. This temporary
working area could be a file or
storage
device, but probably not a buffer.
Traditional uses of the term spooling apply to situations where
there is little or no direct communication between the program
writing the data and the program reading it. Spooling is often used
when a device writes data
at a speed different from the rate at which the target device reads
it, which would allow a slower device to process it at its own
rate. Data is only modified through addition or deletion at the
ends of the area, i.e., there is no random
access or editing.
It can also refer to a storage device that
incorporates a physical spool, such as a tape
drive.
The most common spooling application is print
spooling. In print spooling, documents are loaded into a
buffer (usually an area on a disk), and then the printer
pulls them off the buffer at its own rate. Because the documents
are in a buffer where they can be accessed by the printer, the user
is free to perform other operations on the computer while the printing
takes place in the background. Spooling also lets users place a
number of print jobs in a queue
instead of waiting for each one to finish before specifying the
next one. Optionally it may also automatically generate banner pages,
to identify and separate print jobs.
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.) Unlike other spools, mail and news
spools usually allow random
access to individual messages.
Origin of the term
"Spool" is supposedly an acronym for simultaneous
peripheral operations on-line (although this is thought by some to
be a backronym), or as
for printers: simultaneous peripheral output on line. Early
mainframe
computers had, by current standards, small and expensive hard disks.
These costs made it necessary to reserve the disks for files that
required random access, while writing large sequential files to
reels of
tape. Typical programs would run
for hours and produce hundreds or thousands of pages of printed
output. Periodically the program would stop printing for a while to
do a lengthy search or sort. But it was desirable to keep the
printer(s) running continuously. Thus, when a program was running,
it would write the printable file to a spool of tape, which would
later be read back in by the program controlling the printer.
Spooling also improved the multiprogramming
capability of systems. Most programs required input, and produced
output, using slow peripherals such as card-readers and
lineprinters. Without spooling, the number of tasks that could be
multiprogrammed could be limited by the availability of
peripherals; with spooling, a task did not need access to a real
device: slow peripheral input and output for several tasks could be
held on shared system storage, written and read by separate system
processes running asynchronously with those tasks
See also
- Queue
- Spoolers:
- Berkeley printing system (lpr/lpd)
- CUPS
-
Houston Automated Spooling Program (HASP), prominent in 1960s
- Job Entry Subsystem 2, a follower of HASP
spooling in Czech: Spool
spooling in German: Spooling
spooling in Spanish: Spooling
spooling in Basque: Spool
spooling in French: Spooling
spooling in Korean: 스풀
spooling in Italian: Spool
spooling in Japanese: スプーリング
spooling in Polish: Spooling
spooling in Portuguese:
Spooling