dacs.doc electric

 

A Brief History of SPOOL

By Bill Manyin

 

SPOOL Definitions:
1) System Peripheral Operations OffLine
2) Simultaneous Peripheral Operations OnLine

PRIOR TO 1964 and IBM System/360 and System/360 Operating Systems, it was common for a mainframe to run only one user program at a time. Each user submitted his program in the form of a deck of IBM cards. The program had complete control of the mainframe. Your program could be loaded from an IBM card reader machine cabled to the mainframe online, could create IBM card output by sending data to an IBM card punch machine cabled to the mainframe online, and could send data to a printer machine cabled to the mainframe online. This approach of "peripheral
I/O" was inefficient because (1) the program needed to wait until its input or output transmission was completed before it could receive/send the next line, and 2) the devices designed to attach to the high-speed mainframe were frequently slower than similar devices designed for cheaper, lower speed, mainframes.

For example, if the high-speed mainframe was an IBM 7090 and the lower-speed mainframe was an IBM 1401, the operation was improved by reading the decks of cards on a 1401 and writing the data on a magnetic tape. The tape provided high-speed input to the 7090, which ran one program at a time, each one writing an output tape with punch and/or print files. This output tape would then be brought to the 1401 for punching cards and printing. The process was described as SPOOLing the I/O, using definition 1 above. The acronym of SPOOL may have been chosen because of using tape on a spool or reel.

Typical Spooling Speeds for data

On 7090 On 1401
Card Reader 100 cpm 800 cpm
Card Punch 100 cpm 250 cpm
Line Printer 150 lpm 600 lpm
cpm = cards per minute
lpm = lines per minute
 


System/360 allowed the higher-speed peripheral devices to be attached directly to the large mainframe. Furthermore, System/360 offered operating systems that allowed multiple jobs to run concurrently (although only one at a time.) The OS provided routines to perform SPOOLing using disk instead of tape. Thus the definition of SPOOL changed to definition 2, since the peripheral devices were now online to the large mainframe.

Note: I have written this article from an IBM perspective. Other computers may have used different terms and meanings.


Bill Manyin is a Senior Programmer with Nordic Group, Inc. He can be reached at william.manyin@mindspring.com.

BackHomeNext