System Administration Guide
Chapter 4, Managing printers and print jobs

Overview of print request processing

Overview of print request processing

The diagram in Figure 4-1, ``Overview of print request processing'', gives an overview of the processing of a print request. 

Figure 4-1 Overview of print request processing

Each print request is sent to a ``spooling daemon'' (background program) that keeps track of all the jobs. (This information is archived in the request log.) The daemon is created when you start the print service. The spooling daemon is also responsible for keeping track of the status of the printers and slow filters; when a printer finishes printing a job, the daemon starts it printing another job if one is queued.

You can customize the print service by adjusting or replacing some of the items shown in Figure 4-1 (the numbers are keyed to the diagram).

For most printers, you need only change the printer configuration stored on disk. ``Changing printer names and connections'' explains how to do this. Some of the more printer-dependent configuration data are the printer port characteristics.

For printers that are not represented in the terminfo database, you can add a new entry that describes the capabilities of the printer. See ``Adding a printer entry to the terminfo database''. The print service uses the terminfo database in two parallel capacities: screening print requests to ensure that those accepted can be handled by the desired printer and setting the printer so it is ready to print the requests.

For instance, if the terminfo database does not show a printer capable of setting a page length requested by a user, the spooling daemon rejects the request. On the other hand, if it does show it capable, then the interface program uses the same information to initialize the printer.

If you have a particularly complicated printer or if you want to use features not provided by the print service, you can change the interface script. This script is responsible for managing the printer: it prints the banner page, initializes the printer, and invokes a filter to send copies of the user's files to the printer.

To provide a link between the applications used on your system and the printers, you can add slow and fast filters. Each type of filter can convert a file into another form, for example, mapping one set of escape sequences into another, and can provide a special setup by interpreting print modes requested by a user. Slow filters are run separately by the spooling daemon to avoid tying up a printer. Fast filters are run so their output goes directly to the printer; thus, they can exert control over the printer.

See also: