Specifications

3-4
Guide to Printers and Printing
Real (Physical) and Virtual Printers
A real (physical) printer is the printer hardware attached to the system via a serial or parallel
port, or through a network connection such as a network terminal server. When the real
printer is attached via a serial or parallel port local to the system, the printer device driver in
the kernel communicates with the printer hardware and provides an interface between the
printer hardware and a virtual printer.
A virtual printer is a set of attributes and their associated values that define a high–level
data stream (such as ASCII or Postscript) and the methods for processing that data stream.
This does not include information about how the real printer is attached to the host
computer or about the protocol used for transferring bytes of data to and from the real
printer. The piobe backend uses information stored in the virtual printer definition to control
print job processing. The physical storage medium of the sets of attributes and their
associated values is called a printer colon file.
Spooler
The base operating system spooler is a collection of programs, configuration files, and data
files that provide the following functions or services:
Provides for the construction of queues, which are software entities whose function is to
process jobs in specific ways
Allows users to submit jobs (usually but not always printer jobs) to a queue for
processing.
Provides serial access through a queue to a device (such as a real printer), or to a
program (such as a compiler), avoiding simultaneous use of a single device or program
by multiple users
Allows users to query the status of queues through status files
Allows users to control the availability of queues and the status of jobs
Performs extensive manipulation of print job data stream
Offers a wide–range of delivery mechanisms for the processed job
Spooler Backends
A spooler backend is a collection of programs (a pipeline) started by the spoolers qdaemon
command to manage a spooler job that is queued for processing. When the backend is for a
print queue, the spooler backend typically performs the following functions:
Receives from the qdaemon command a list of one or more jobs to be processed.
For print jobs, uses printer and formatting attributes from the database, overridden by
any flags specified on the command line.
Initializes the printer before processing a print job.
Provides filters for simple formatting of ASCII documents.
Uses filters to convert print job data stream to a format supported by the printer.
Provides support for printing national language characters.
Passes the filtered data stream of a print job to the printer device driver.
Generates header and trailer pages for print jobs, if requested.
Generates multiple copies of print jobs, if requested.
Reports paper–out, intervention–required, and printer–error conditions.
Reports problems detected by the filters.
Cleans up after a job is cancelled.