Spooling

spool refers to the process of placing data in a temporary working area for another program to process. The most common use is in writing files on a magnetic tape or disk and entering them in the work queue (possibly just linking it to a designated folder in the file system) for another process. Spooling is useful because devices access data at different rates. Spooling allows one program to assign work to another without directly communicating with it.



The most common spooling application is print spooling: documents formatted for printing are stored usually 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 or 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.