Print spoolers


 

 

 

 

 

In common with many other types of input / output device, printers run much slower than the processor, and in addition, in multi-user systems, printers cannot be shared until one whole data transfer is finished, and the job completed; then the next printing job can be started.

These two factors combine to make a situation whereby there would be a substantial waste of processor time for the processor to be tied up just doing printing.

A solution is for a software routine called a Spooler to divert all the data which is destined for the printer to be assembled in a cache such as a hard drive, which, if required, can be multi-user.

When a document for printing is fully assembled in the hard drive, the spooler can request access time to the processor, and depending on the level of priority given to printing, when the processor is free, the whole block of data is transferred to the printer.

The use of the spooler therefore does three things:

  • The processor is not tied up waiting for a slow device like the printer

  • The process ( ie, the application program ) requesting the services of the printer " sees" a device which is very fast ( ie, as fast as the hard drive allows ).

  • Because the hard drive is multi process accessible, in a multi user computer system each user "sees" undelayed access to the printer, even though there may be a queue.

The end result is that the user does not have to sit and wait after giving a PRINT command, but can move onto another task.

 


© 1998 Ron Turner


Return to the index page