Spooling(Simultaneous peripheral operations on line) is a buffering mechanism. Spooling operates the I/O of one job with the computations of other jobs.
This article explains spooling in detail.
Spooling is an acronym for simultaneous peripheral operations on line. By simultaneous, we mean that if two or more users issue the print command, the printer can accept the request even if it is printing some other job. When the job requests the printer to output a line, that line is copied into a system buffer and is written to the disk. When the job is completed, the output is actually printed. This form of processing is called spooling.
Spooling overlaps the I/O of one job with the computations of the other job. It is used for data processing at remote sites. It can make CPU and I/O devices work at higher rates.
Jobs are defined by the operating system. Jobs have a predefined sequence of commands, programs, and data as a single unit. The operating system stores jobs in memory and executes them. These jobs are processed in the order of submission using the FCFS(First-Come-First-Serve) algorithm. When the job completes execution, its memory is released and the output for the job gets copied into an output spool.
- Batch processing is useful for operations that require a computer for an extended period of time.
- Increased performance as the new job starts as soon as the previous job finishes.
- No interaction is possible with the user while the program is executed.
- CPU sits idle during the transition from one job to another.
- Debugging was feasible and it used to be very time-consuming.
- At any time it is used to dedicate all the system resources to a single program being executed. Thus the degree of resource utilization was very low thereby lowering system throughput.
Spooling is a buffering mechanism. It is used for data processing at remote sites. Spooling overlaps the I/O of one job with the computations of other jobs. It can keep both CPU and I/O devices working at much higher rates.