Spooling
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 termin by placing it in a temporary working area where another oprogramowanie may access it for processing at a later point in time. This temporary working area could be a file or storage device, obuwie probably not a buffer. Traditional uses of the term spooling apply to situations where there is little or no direct communication between the oprogramowanie writing the prekluzja and the oprogramowanie reading it. Spooling is often used when a device writes prekluzja 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. Termin 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 baner pages, to identify and separate print jobs.
The temporary storage area to which mejl is delivered by a Mail Przewożenie Wywiadowca and in which it waits to be picked up by a Mail User Szpieg is sometimes called a mail spool. Likewise, a storage area for Usenet articles may be referred to as a nowina spool. (On Unix-like systems, these areas are usually located in the /var/spool directory.) Unlike other spools, mail and świeża wiadomość spools usually allow random access to individual messages.
Contents
//
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.
In the latter 1960s and early 1970s, computers handled punch cards, and spooling systems such as HASP, 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 that the term ’spooling’ may have derived from these reels or ’spools’ of tape, although this etymology has not been sourced.)
The spooling mechanism
The entire key to spooling is asynchronous processing, where the oprogramowanie is not constrained by the speed of slow devices, particularly printers.
Printers are relatively slow peripherals. In comparison, disc devices and particularly CPUs are orders of magnitude faster. Without spooling print termin, the speed of oprogramowanie operation is constrained by the slowest device, commonly printers, forcing the oprogramowanie to wait for the mechanical motion of the printer. Professionals say the oprogramowanie is ‘print bound’.
For example, when a city prepares payroll checks, the actual computation may take a matter of minutes or even seconds, obuwie the printing process might take hours. If the oprogramowanie printed directly, computing resources (CPU, memory, peripherals) would be tied up until the oprogramowanie 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.
Behind the scenes
A spooler contains two parts:
- an operating organizm extension to pomost termin destined for a printer and buffers it,
- a simple oprogramowanie that independently writes trapped prekluzja to the printer.
Without spooling
An application oprogramowanie may write print lines or pages intended for a slow physical printer. The operating organizm receives I/O requests (input/output), including print lines or pages. Without a spooler, the OS would allow prekluzja to pass to the printer and the application oprogramowanie would wait for completion before continuing.
With spooling
A spooling mechanism traps the I/O request, captures the output termin, and releases the application to continue processing. As the application continues, the spooler writes the termin 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.
In practice
Spooling improves the multiprogramming capability of systems. Most programs require input and produce output. Without spooling, the number of tasks that could be multiprogrammed might be limited by the availability of peripherals; with spooling, a task doesn’t need access to a real device.
Because disc drives are so much faster than printers, throughput radically improves by temporarily directing printer output to disc storage and retrieving it at leisure.
See also
- Queue
- Spoolers:
- Berkeley printing organizm (lpr/lpd)
- CUPS
- Houston Automated Spooling Oprogramowanie (HASP), dygnitarz in 1960s
- Job Entry Subsystem 2, a follower of HASP
- The Spooler, IBM DOS spooler, 1975-1980s
References
Forms of software distribution
Abandonware · Adware · Beerware · Careware · Commercial software · Crippleware · Demoware · Donationware · Foistware · Freely redistributable software · Free software · Freeware · Nagware · Open source · Otherware · Postcardware · Registerware · Retail software · Shareware
Software engineering
Fields
Requirements analysis • Software wzornictwo • Computer programming • Formal methods • Software testing • Software deployment • Software maintenance
Concepts
Data modeling • Enterprise architecture • Functional specification • Modeling language • Programming paradigm • Software • Software architecture • Software development methodology • Software development process • Software quality • Software quality assurance • View model
Orientations
Agile • Aspect-oriented • Object orientation • Ontology • Service orientation • SDLC
Models
Development models: Agile • Iterative wzornik • RUP • Scrum • Spiral szablon • Waterfall krój • XP • V-Model
Process models: Function szablon • Information krój • Object model
Data models: Termin szablon • Database model
Software engineers
Charles Bachman • Kent Beck • Tim Berners-Lee • Grady Booch • Fred Brooks • Barry Boehm • Ward Cunningham • Edsger W. Dijkstra • Martin Fowler • Wolumen Gruber • Michael A. Jackson • Ivar Jacobson • James Martin • Winston W. Royce • James Rumbaugh • Edward Yourdon
Related fields
Computer science • Computer engineering • Enterprise engineering • History • Management • Mathematics • Project management • Quality management • Software ergonomics • Systems engineering
Retrieved from “http://en.wikipedia.org/wiki/Spooling”
Categories: Software | Organizm software | Software systems | Operating ustrój technology | Unix software | IBM software | IBM Mainframe computer operating systems