|Banner page was nominated for deletion. The debate was closed on 25 November 2013 with a consensus to merge. Its contents were merged into Spooling. The original page is now a redirect to here. For the contribution history and old versions of the redirected article, please see its history; for its talk page, see here.|
- 1 jobs
- 2 Difference between spooling and queuing?
- 3 Spooling and FIFOs
- 4 Tape? Reely?
- 5 Mechanism and Origin
- 6 (queue/fifo) buffering vs. spooling: how wrong definitions manifest in contradiction.
- 7 Computer science is not Information science
- 8 "city prepares payroll checks" - huh?
- 9 Term
- 10 Level of detail for references?
- 11 Banner pages
- 12 Rewrite and criticism
"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... 18.104.22.168 13:19, 18 January 2007 (UTC)
Difference between spooling and queuing?
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.
Spooling and FIFOs
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 22.214.171.124 (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.
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.
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!
Mechanism and Origin
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.
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 126.96.36.199 (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.
In the first paragraph I read:
|“||In print spooling, documents are loaded into a buffer (usually an area on a disk), and then ...||”|
The 2nd tells the opposite:
|“||This temporary working area could be a file or storage device, but probably not a buffer. 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.||”|
In the 3rd, it calls it a buffer again:
|“||The most common spooling application is print spooling: documents formatted for printing are stored onto a buffer (usually an area on a disk)||”|
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 188.8.131.52 (talk) 22:46, 8 October 2010 (UTC)
Computer science is not Information science
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?
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 184.108.40.206 (talk) 20:35, 5 June 2011 (UTC)
- 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)
- 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)
- 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)
- 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?
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
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
- Spooling does not mediate between the computer and the peripherals. SPOOL is an application that runs on the computer, in parallel with other work.
- Media copies on a 1401 were not spooling, they were an alternative to spooling.
- 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.
- 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:
- 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.
- 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.
- 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.
- In the absence of hard evidence, I think the discussion of the origin of the term is sufficiently hedged both ways as is.
- Thanks for your feedback. Responding in order:
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.
- The word online is part of the name, so it is relevant where the processing takes place.
- 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.
- 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.