From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing  
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 ???  This article has not yet received a rating on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.


"In computer science, spooling refers to putting jobs in a buffer..."
This use of the word jobs is common computer slang, but perhaps not right for a WP article, esp in the opening sentence. What it means here is "intermediate workflow files", but that is kind of awkward... 13:19, 18 January 2007 (UTC)

Difference between spooling and queuing?[edit]

What's the semantic difference between these two? Is there one, or are they interchangeable? Mratzloff 18:54, 11 April 2007 (UTC)

That's a perceptive question and the answer is a matter of application and degree.
Queueing can be buffered in memory and hypothetically could be buffered to a storage device.
Spooling is indeed a type of queueing, but (a) relates to printing and (b) uses disc as the queueing medium.
If print lines are buffered in memory, they are queued but not spooled.
--UnicornTapestry (talk) 02:21, 8 November 2008 (UTC)

Spooling and FIFOs[edit]

It seems like spooling is a lot like stuffing data into a FIFO where each side can can read/write whenever ready. Of course, if the FIFO gets full, data on the write side must wait or be lost. —The preceding unsigned comment was added by (talk) 14:35, August 21, 2007 (UTC)

Spooling is FIFO. Different spooling programs treated full buffers in different ways. IBM's Power program simply stopped and waited for the operator to make a decision. DataCorp's The Spooler and SDI's Grasp began printing immediately, so if their buffers filled, they simply slowed to printer speed.
--UnicornTapestry (talk) 02:24, 8 November 2008 (UTC)

Tape? Reely?[edit]

The article claims tape was used as a 'spooling' mechanism. While it's true that DOS, OS/MxT, and other operating system variants could output print lines to 'spools' of tape (which we called reels), this was never considered 'spooling' in the sense of the article.

--UnicornTapestry (talk) 02:30, 8 November 2008 (UTC)

I agree with that. Having been "in the trade" for over forty years I can assure that we NEVER referred to tapes as anything but reels. I guess that someone is trying to support the argument that SPOOL is a bacronym - which it ain't!

Terry — Preceding unsigned comment added by (talk) 08:44, 17 August 2011 (UTC)

Mechanism and Origin[edit]

Part of the section on the Origin of the Term is incorrect and part has gone missing, apparently years ago.

I rewrote that section and added another section on the spooling mechanism.

--UnicornTapestry (talk) 06:33, 12 November 2008 (UTC)

I actually worked on an IBM 360 in 1967. At that time, the IBM computer had 512k bytes of core memory and processed jobs. Some of these jobs would require large volumes of output to a printer. Since some jobs would be printer bound and thus waste an extremely valuable asset (IBM 360 was not cheap), the system could be bootstrapped into a different configuration. In this setup, a partition in memory was established, (I think 8k bytes), which automatically printed print files from whatever tape was loaded onto a reserved tape drive (usually the last in a bank of tape drives and only available to the print partition). This set up, known as SPOOL (Simulatenous Peripheral Operation Off Line) was seen as a major advance at the time. There was no queuing. The order of tapes loaded was the order of the print. Very simple and very ingenious at the time. —Preceding unsigned comment added by (talk) 00:59, 4 June 2010 (UTC)

First, IBM had SPOOL software well before the S/360, e.g., "SPOOL System", 7070-IO-076 (see IBM. IBM 7070 SPOOL System. J28-6047-1. )
Second, the MVT option of OS/360 had queuing. Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:47, 11 June 2010 (UTC)

(queue/fifo) buffering vs. spooling: how wrong definitions manifest in contradiction.[edit]

In the first paragraph I read:

The 2nd tells the opposite:

In the 3rd, it calls it a buffer again:

Finally, I come to clarify this in the discussion page and see the numerous question if the spooler is a buffer after all responed by assurances that it is not a buffer. Am I crazy or this article is total absurd indeed? Everything gets fixed if we correct only the 2nd paragraph. It is really wrong because it denies the spooler being a buffer and, at the same time describes it as "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.", which is definitely a purpose of a buffer. By definition, a fast storage device used to mediate the producer-consumer is a buffer. Furthermore, if the "Data is only modified through addition or deletion at the ends of the area, i.e., there is no random access or editing" we have a queue buffering, aka FIFO. --Javalenok (talk) 22:06, 11 June 2009 (UTC)

The original SPOOL software was mostly card-to-tape, tape-to-card and tape-to-printer; such operations as card-to-card, while supported, were less useful. Support for disk came fairly quickly, and Direct Coupled System required an IBM 1301 disk drive between an IBM 7040 and an IBM 7090, or between a 7044 and a 7094.
I've never seen the word spool used to refer to digital tape; it's always been cartridge, reel, tape or volume. I have, however, seen the term spooler used for hardware on a tape drive.
All of the spooling software that I've seen dealt with complete files; it didn't share files with another program as buffers. All of the spooling software that I've seen using disk as an intermediary has had priority queueing. Shmuel (Seymour J.) Metz Username:Chatul (talk) 20:09, 11 June 2010 (UTC)

Minor note: Neither Shadow nor Shadow II were spooling systems. It was a TP Monitor, a CICS competitor. Fido was the spooling system from the same fertile mind - Simon Wheaton Smith, if I remember rightly, and they were built when he was at Thomas Cook's the travel agents. Personal knowledge - I worked on Shadow in London from 1976 on. —Preceding unsigned comment added by (talk) 22:46, 8 October 2010 (UTC)

Computer science is not Information science[edit]

A recent edit by User:Free 3rhym changed Computer science to Information science; the two are not equivalent and Computer science is the relevant term when discussing features of computer software. Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:25, 28 October 2010 (UTC)

"city prepares payroll checks" - huh?[edit]

I don't get why a city prepares payroll cheques. I'm thinking city - large conurbation. What other cities are there? — Preceding unsigned comment added by (talk) 20:35, 5 June 2011 (UTC)


I distinctly remember being told that SPOOL stands for Simulated Peripheral Operations On Line. The peripheral operations are simulated.Lestrade (talk) 03:26, 12 May 2012 (UTC)Lestrade

Someone may have told you that, but it has been Simultaneous Peripheral Operations On Line since the 1950's, in such IBM software as SPOOL System, 7070-IO-076. Shmuel (Seymour J.) Metz Username:Chatul (talk) 23:14, 22 May 2012 (UTC)
Makes no sense. What two operations are simultaneous? However, it makes sense to say that peripheral operations are simulated as though they were online. The person who told me was a lecturer for a company that sold EDOS.Lestrade (talk) 00:22, 23 May 2012 (UTC)Lestrade
Yes, it does make sense, especially if you were there, using the hardware and software. Simultaneous refers to the running of more than one batch job at a time. If you wanted to, say, run PAYROLL and GLEDGER without a spooling subsystem, you had to have a printer (peripheral) available for each. After HASP was introduced, the jobs could run at the same time, "printing" to a spool file, even if you only had one physical printer. You could then print the spooled output when convenient. The person who's telling you this installed and operated IBM operating systems ranging from MVT to MVS/ESA, and remembers the annoyance of life without Simultaneous Peripheral Operation On-Line. — UncleBubba T @ C ) 05:00, 23 May 2012 (UTC)
Very clearly explained.Lestrade (talk) 10:26, 23 May 2012 (UTC)Lestrade
Thanks! Glad I could help--even if I am admitting how ancient I am. — UncleBubba T @ C ) 17:09, 23 May 2012 (UTC)
Actually, MVT had SPOOL support without ASP or HASP. ASP and HASP automated some of the operation of the computer, avoided some of the overhead of allocating DASD datasets for SPOOL and automatically blocked records even when the user didn't provide an explicit block size. Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:34, 25 May 2012 (UTC)
Are you sure that it is not Simultaneous Peripheral Operation Off-Line?Lestrade (talk) 18:31, 23 May 2012 (UTC)Lestrade
Yes. — UncleBubba T @ C ) 20:22, 23 May 2012 (UTC)
The SPOOL software for the 7070, 7080, 7090 and related computers allowed for simultaneous card-to-tape, card-to-card, card-to-printer, tape to card and tape to printer operations on the same computer. You were still limited to one batch job at a time in parallel with the SPOOL activity. Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:34, 25 May 2012 (UTC)

Level of detail for references?[edit]

I recently reinstated a deleted paragraph relating to SPOOL software doing card-to-tape, tape-to-card, tape-to-printer and tape-to-tape operations. I added a citation of one SPOOL program supporting these operations; I considered adding some IOCS manuals to the references but suspected that it might be TMI. Would those references be appropriate? Shmuel (Seymour J.) Metz Username:Chatul (talk) 22:05, 4 January 2013 (UTC)


Historically, banner pages have contained a wide variety of data and have varied both between systems and between installations of the same system. There is no datum that all banner pages included. Shmuel (Seymour J.) Metz Username:Chatul (talk) 22:55, 14 January 2014 (UTC)

Rewrite and criticism[edit]

I revised the article heavily a couple days ago. I got feedback on the revisions on my user talk page today, which I reproduce here along with my response:

There are several problems with your rewrite of Spooling. My first thought was to revert the edit, but it might be better if you could fix it up. The problems that I noticed were
  1. Spooling does not mediate between the computer and the peripherals. SPOOL is an application that runs on the computer, in parallel with other work.
  2. Media copies on a 1401 were not spooling, they were an alternative to spooling.
  3. Spooling is not just buffering of job output, it is buffering of job input, typically card-to-tape or card-to-disk copying in parallel with execution of earlier jobs.
  4. The term "Simultaneous Peripheral Output On Line" in the IBM program "SPOOL System, 7070-IO-076" goes back to the 1950's. Given that the common term at the time was reel rather than spool, a backronym seems unlikely.
Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:07, 21 April 2016 (UTC)
Thanks for your feedback. Responding in order:
  1. The first sentence of the article does not need to be specific about exactly where the spooler process runs, and I think "mediating between a computer and a slow peripheral" is an accurate description of what spooling does, even if the mediation happens to be done by the computer itself.
  2. I don't have personal experience with, or references for, 1401-era computing; what I wrote is my best guess at a sensible interpretation of the corresponding paragraphs of the old article, which were not terribly clear. I would welcome targeted improvements to that section by people who remember those days and/or can provide references. Having said that, it seems to me you are insisting on a very narrow interpretation of the meaning of the phrase---too narrow for a general audience.
  3. Yes, spooling can be applied to either input or output; however, I think it's important to put the discussion of print spooling (the most common modern application) first, and that is a form of output. Some forms of input spooling appear in the "other applications" section; if you'd like to flesh them out and/or add more that would be fine by me.
  4. In the absence of hard evidence, I think the discussion of the origin of the term is sufficiently hedged both ways as is.

I am not currently persuaded to make any changes based on this feedback. I added a sentence to the article lead-in about input spooling, but beyond that I do not think any changes are necessary. Further discussion should take place here.

Elwoz (talk) 18:49, 21 April 2016 (UTC)

  1. The word online is part of the name, so it is relevant where the processing takes place.
  2. If you had no experience or references on the 1401, why did you change the description? Clarifying text is reasonable; changing it based on uninformed guesses is not.
  3. The lede is supposed to introduce the topic. The fact that print spooling is more common belongs in subsequent text, and is not a justification for an incorrect lede.
Should there be a reference to IBM 7070 SPOOL System, 7070 Data Processing System Bulletins (Second ed.), IBM, J28-6047-1 ? Shmuel (Seymour J.) Metz Username:Chatul (talk) 15:49, 28 April 2016 (UTC)