假脱机

维基百科,自由的百科全书
跳转至: 导航搜索

在信息学中,假脱机(外部设备联机并行操作,SPOOL,Simultaneous Peripheral Operations On-line)是一种数据缓冲,指传输数据的过程中,将数据存放在临时工作区中。其它程序可以在之后的任意时间点对其存取。通常英语动词spool可以指储存设备的行为,具体表现为物理意义上的缠或卷,就比如说磁带机。最常见的假脱机的应用是打印缓存,即把打印任务加入到队列

Magnetic recording tape wound onto a 'spool' may have contributed to the origin of the term

来源[编辑]

根据塔能鲍姆, “SPOOL”是simultaneous peripheral operations on-line首字母縮略字[1] 对于打印机,则是simultaneous peripheral output on line的缩写。Possibly the term is influenced by the reel (or spool) of a magnetic tape, the part on which tape is wound for later use. A more modern interpretation of SPOOL comes from the flowchart drawing icon of a spool of thread, which, in IBM terminology, represents the (perhaps) temporary storage of data on a magnetic disk drive, under the control of an operating system task.

历史[编辑]

In a computer system peripheral equipment such as printers and punched card readers and punches are very slow relative to the performance of the rest of the system. Getting input into and output from the system was quickly seen to be a bottleneck. For example a job which read punched cards or generated printed output directly was forced to run at the speed of the slow mechanical devices.

In the late 1950s and early 1960s, computers used SPOOL software, e.g., IBM "SPOOL System", 7070-IO-076, to copy files from one medium to another: punch card to tape, tape to punch card and tape to printer, with occasional use for card-to-card copying.[1] The introduction of the relatively inexpensive IBM 1401 led to a temporary reduction in the use of SPOOL software, since many large computer installations used a stand-alone 1401 to drive printers and card equipment and process tapes for a larger computer system.

Early mainframe computers had no disk drives and slightly more recent ones had, by current standards, small and expensive hard disks; in later systems offline tape handling and SPOOL use of tape disappeared in favor of disks. Software such as IBM's Attached Support Processor allowed a smaller System/360 to process spool files on disk for one or more larger systems.

处理[编辑]

The most common spooling application is print spooling: documents formatted for printing are usually stored into an area on a disk and retrieved and printed by a printer at its own rate. Printers typically can print only a single document at a time and require seconds to minutes to do so. With spooling, multiple processes can write documents to a print queue without waiting. As soon as a process has written its document to the spool device, the process can perform other tasks, while a separate printing process operates the printer.

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.[2]

Spooler or print management software allow priorities to be assigned to jobs, notify users when their output has been printed, distribute jobs among several printers, allow forms or paper to be changed, or select it automatically, generate banner pages to identify and separate print jobs, etc.

A batch processing system uses spooling to maintain a queue of ready-to-run jobs which can be started as soon as the system has the resources to process them.

[编辑]

A banner page (also called a burst page, job sheet, or a printer separator), is used in computerized printing in order to separate documents (or "print jobs") from each other and to identify, e.g., the originator of the print request by username, an account number, a bin for pickup. These pages are typically used in office environments where many people share a small number of printers. In some cases, print jobs are sent to a central processing area where messengers take the printouts back to the owner, but the usual practice in modern office environments is for the user to retrieve his or her own documents. The banner page makes it clear who printed each job.

Depending upon the configuration, the banner page may be generated by the print spooler—software running on a computer which buffers and prioritizes print jobs— by a print server—a computer or device that is connected to one or more printers and to client computers over a network— or by the printer itself.

用途和优点[编辑]

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.) Mail and news spools usually allow random access to individual messages.

In the later 1960s and early 1970s, computers handled punch cards, and spooling systems such as HASP, FIDO, PATCHES,[3] SHADOW & SHADOW II (primarily teleprocessing, but control program same as PATCHES), 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. The term 'spooling' may derive 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.)[2]

种类[编辑]

参见[编辑]

参考资料[编辑]

  1. ^ 1.0 1.1 Tanenbaum, Andrew S. Modern Operating Systems. 3rd Ed. Pearson Education, Inc., 2008. ISBN 978-0-13-600663-3
  2. ^ 2.0 2.1 Lundin, Leigh; Stoneman, Don. The Spooler User Guide 2. Harrisonburg: DataCorp of Virginia. 1977. 
  3. ^ IBM 1401 Restoration Project. Ibm-1401.info. [2014-03-29]. 
  4. ^ IBM, The HASP System, February 26, 1971 HASP II (360D-05.1-014) V3M1, Version 3 Modification Level 1, February 26, 1971. 
  5. ^ IBM, z/OS V1R9.0 JES2 Introduction, SA22-7535-06. 
  6. ^ DOS/VS POWER/VS Installation and Operations, GC33-5403-1[失效連結]
  7. ^ Virtual Storage Extended / Priority Output Writers, Execution Processors and Input Readers; VSE/POWER - 5686-CF9-03