In the early versions of UNIX, the line printer daemon (LPD) was used to spool text to a printer. This LPD also known as Berkeley printing system (BSD) is able to send any kind of file to a printer.
The model of this printing system consists of the following features:
A number of hosts request print services from a LPD process running on a host
The output of the print job will be produced when a file is sent as a request input
The print job will have a unique number from 0 to 999
Users who request print jobs shouldn't have their user name starting with digits
Apart from its main command
lpd
, the system also supportslpr
(assign to queue),lpq
(display the queue),lprm
(remove from queue), andlpc
(control the queue)
The biggest disadvantage with the Berkeley printing system is that it doesn't provide any feature for print jobs and filtering systems. These features were added in a new line printer (LP) system. The following URL shows information about this system in detail:
http://tools.ietf.org/html/rfc1179
Note
A printer that supports LPD/LPR is sometimes referred to as a "TCP/IP printer". The LPD/LPR protocol listens on TCP port 515.
The System V printing system is one of the several standard architectures for printing on the UNIX platform which uses the lp
command. The following are some of the features of System V printing system:
This printing system is applicable to commercial System V based OS such as Solaris SCO OpenServer
Solaris has done a lot of modifications due to its open source project OpenSolaris by keeping original System V printing system intact
Note
OpenSolaris is an open source project created by Sun Microsystems to build a developer community around Solaris Operating System technology. You can get more information on this at: http://opensolaris.org/os/
Apart from its main command
lp
, System V uses other commands such aslpstat
(shows the current print queue),cancel
(deletes a job from the print queue),lpadmin
(an administrative command to configure the print system),lpmove
(an administrative command to configure moves jobs between queues)
CUPS emulates both System V and Berkeley print architectures at the interface level, though its internal architecture is different from both. We will see the architecture of CUPS with its features shortly.