KEMBAR78
Spooling | PDF | Computer Architecture | Computer Science
0% found this document useful (0 votes)
133 views3 pages

Spooling

1) Spooling refers to temporarily storing data in a buffer area so that it can be accessed and processed asynchronously by other programs running at different speeds. 2) The most common use of spooling is print spooling, where documents are stored in a disk buffer by a fast processor and then retrieved and printed slowly by a printer without slowing the processor. 3) "Spool" is an acronym that originally stood for "simultaneous peripheral operations on-line" to refer to systems that allowed peripheral devices like printers to operate asynchronously by using temporary storage areas.

Uploaded by

ranjeet1985
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
133 views3 pages

Spooling

1) Spooling refers to temporarily storing data in a buffer area so that it can be accessed and processed asynchronously by other programs running at different speeds. 2) The most common use of spooling is print spooling, where documents are stored in a disk buffer by a fast processor and then retrieved and printed slowly by a printer without slowing the processor. 3) "Spool" is an acronym that originally stood for "simultaneous peripheral operations on-line" to refer to systems that allowed peripheral devices like printers to operate asynchronously by using temporary storage areas.

Uploaded by

ranjeet1985
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Spooling

From Wikipedia, the free encyclopedia


Jump to: navigation, search
For use of this term to refer to thrust changes in jet engines, see Jet engine.
This article may require copy editing for grammar, style, cohesion, tone, or spelling. You
can assist by editing it. (July 2009)

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. The
normal English verb "spool" can refer to the action of a storage device that incorporates a
physical spool or reel, such as a tape drive.

Spooling refers to copying files in parallel with other work. The most common use is in reading
files used by a job into or writing them from a buffer on a magnetic tape or a disk. Spooling is
useful because devices access data at different rates. The buffer provides a waiting station where
data can rest while the slower device catches up.

This temporary working area would normally be a file or storage device. Usual 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
faster than a target device can read it, allowing the slower device to work at its own pace without
requiring processing to wait for it to catch up. Data is only modified through addition or deletion
at the ends of the area, i.e., there is no random access or editing.

The most common spooling application is print spooling: documents formatted for printing are
stored onto a buffer (usually an area on a disk) by a fast processor and retrieved and printed by a
relatively slower printer at its own rate. As soon as the fast processor has written the document to
the spool device it has finished with the job and is fully available for other processes. One or
more processes may rapidly write several documents to a print queue without waiting for each
one to print before writing the next. 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.) Unlike other spools, mail and news
spools usually allow random access to individual messages.

Contents
[hide]
 1 Origin of the term
 2 The spooling mechanism
o 2.1 Behind the scenes
 2.1.1 Without spooling
 2.1.2 With spooling
o 2.2 In practice
 3 See also
 4 References

[edit] Origin of the term


This article does not cite any references or sources.
Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and
removed. (November 2008)

According to Tanenbaum, "Spool" is an acronym for simultaneous peripheral operations on-


line[1] (though others[who?] may consider this a backronym), or as for printers: simultaneous
peripheral output on line. Early mainframe computers had no disk drives and slightly more
recent ones had, by current standards, small and expensive hard disks.

In the late 1950s and early 1960s, computers used SPOOL software to copy card to tape, tape to
card and tape to printer, with occasional use for card-to-card copying. The introduction of the
inexpensive IBM 1401 led to a temporary reduction in the use of SPOOL software.

In the later 1960s and early 1970s, computers handled punch cards, and spooling systems such as
HASP, FIDO, PATCHES, [1], SHADOW & SHADOW II, 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. It has been suggested[by whom?]
that the term 'spooling' may have derived 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.)

[edit] The spooling mechanism


The entire key to spooling is asynchronous processing, where the program is not constrained by
the speed of slow devices, particularly printers.[2]

Printers are relatively slow peripherals. In comparison, disc devices and particularly CPUs are
orders of magnitude faster. Without spooling print data, the speed of program operation is
constrained by the slowest device, commonly printers, forcing the program to wait for the
mechanical motion of the printer. Professionals say the program is 'print bound'.[2]

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.

.
Magnetic recording tape wound onto a spool or reel.

[edit] Behind the scenes

A printing spooler contains two parts:

1. an operating system extension that traps data destined for a printer and buffers it,
2. a simple program that independently writes trapped data to the printer.

[edit] Without spooling

An application program may write print lines or pages intended for a slow physical printer. The
operating system receives I/O requests (input/output), including print lines or pages. Without a
spooler, the OS allows data to pass to the printer and the application program waits for
completion before continuing.

[edit] With spooling

A spooling mechanism traps the I/O request, captures the output data, and releases the
application to continue processing. As the application continues, the spooler writes the data to a
disc file and, if it's not already running, it kicks off the other part of the spooler, the actual print
routine. It reads the output lines and writes them to the printer, independent of the original
application which may have already ended...

You might also like