System V printing system
Template:Short description The printing subsystem of UNIX System V is one of several standardized systems for printing on Unix, and is typical of commercial System V-based Unix versions such as Solaris and SCO OpenServer. A system running this print architecture could traditionally be identified by the use of the user command Page Template:Mono/styles.css has no content.lp as the primary interface to the print system, as opposed to the BSD Page Template:Mono/styles.css has no content.lpr command (though some systems provide Page Template:Mono/styles.css has no content.lpr as an alias to Page Template:Mono/styles.css has no content.lp).
Typical user commands available to the System V printing system are:
- Page Template:Mono/styles.css has no content.lp: the user command to print a document
- Page Template:Mono/styles.css has no content.lpstat: shows the current print queue
- Page Template:Mono/styles.css has no content.cancel: deletes a job from the print queue
- Page Template:Mono/styles.css has no content.lpadmin: a system administration command that configures the print system
- Page Template:Mono/styles.css has no content.lpmove: a system administration command that moves jobs between print queues
History
In the Unix programming model, device files are special files that act as access points to peripheral devices such as printers. For example, the first line printer on a Unix system might be represented by a file Page Template:Mono/styles.css has no content.lp1 in the device (Page Template:Mono/styles.css has no content./dev) directory, i.e., Page Template:Mono/styles.css has no content./dev/lp1. Using the file metaphor, a document could by printed by "copying" the file onto the device: Page Template:Mono/styles.css has no content.cp document /dev/lp1. While this worked well enough for the case where there was one printer per user, this model did not scale out well to multiple users having to share one printer.[1] The solution was to create a queue (or "spool") of documents to be printed and use a daemon (system process) to manage this queue and send the documents to the printer in the order in which they arrived.
Such a system, with an Page Template:Mono/styles.css has no content.lp command to send documents to the queue, was first introduced in 1973 in Version 4 of Unix.[2]Template:R/superscript By the release of System V Release 4, the suite of utilities had grown to include commands for canceling print jobs, moving jobs among queues, enabling and disabling queues, enabling and disabling a job scheduler daemon, and status reports of the print system.[3]Template:R/superscript The Page Template:Mono/styles.css has no content.lp command handled queue documents to be printed[3]Template:R/superscript and had over 20 different options that controlled the appearance of the document and its place in the queue,[4]Template:R/superscript and even handled email notification of the user once the document had finished printing.[2]Template:R/superscript The command returned a "job id" which could be used by the cancel or lpstat commands to remove the job from the queue or check on its progress, respectively.[5]Template:R/superscript While the system was considered to be quite complex to set up and administer, most uses were expected to only use these three commands.[4]Template:R/superscript
With its distribution in the influential AT&T Unix System V, the interface if not the implementation became the standard for users' control over printers. The Page Template:Mono/styles.css has no content.lp command was included as a requirement in the POSIX.2 standard,[6] and a command by that name appeared in the subsequent lpr, LPRng and CUPS printing systems. (In SVR4 derivates like SCO UNIX, the Page Template:Mono/styles.css has no content.lp command was simply an alias for the Page Template:Mono/styles.css has no content.lpr command used by the BSD-based Page Template:Mono/styles.css has no content.lpr system.[7])
As late as 1996, Running Linux stated "The Linux printing software consists of the UNIX standard lp and lpr software",[8] but by 1999 support for lp was waning and the third edition simply stated "The lpr command prints a document on Linux."[9] By 2003, a survey of the Debian, Mandrake, Red Hat, Slackware and SuSE distributions showed that all of them were running some combination of lpr, LPRng and CUPS.[10]
The original System V printing system remains proprietary; however, the Solaris print system, heavily modified from the original, has been released as open source software as part of the OpenSolaris project. CUPS emulates both System V and Berkeley print architectures on the interface level, though its internal architecture is different from both.
Criticism
In his introduction to a simplified configuration system for lp, author Peter Gray of the University of Wollongong described several weaknesses of the version shipping with the then-current Solaris (operating system) version 2.
- As opposed to the single daemon used by the simpler BSD lpr system, the lp system used separate daemons, one for scheduling and one for remote communication.
- The lpr system could be controlled with a single configuration file while lp requires a separate program for administration.
- The lp system did support permissions, but the model did not scale to hundreds of users.
As a result, Gray observed that "many administrators choose to simply run the old lpr/lpd system on the SVR4 boxes."[11]
See also
References
Page Template:Reflist/styles.css has no content.
- ^ Page Module:Citation/CS1/styles.css has no content.Kofler, Michael (1997). "6.4 Printer Configuration". Linux: Installation, configuration and use. Addison-Wesley. pp. 146–150. ISBN 0-201-17809-5.
- ^ a b Page Module:Citation/CS1/styles.css has no content.Arthur, Lowell Jay (1986). Unix Shell Programming. John Wiley & Sons. p. 190. ISBN 0-471-84932-4.
- ^ a b Page Module:Citation/CS1/styles.css has no content.Nemeth, Evi; Snyder, Garth; Seebass, Scott (1989). "Printing Under ATT". UNIX System Administration Handbook (1st ed.). Prentice Hall. pp. 164–173. ISBN 0-13-933441-6.
- ^ a b Page Module:Citation/CS1/styles.css has no content.Rosen, Kenneth H.; Rosinski, Richard R.; Farber, James M. (1990). UNIX System V Release 4: An Introduction for New and Experienced Users. Osborne McGraw-Hill. pp. 117–121. ISBN 0-07-881552-5.
- ^ Page Module:Citation/CS1/styles.css has no content.Sobell, Mark G. (1985). A Practical Guide to UNIX System V. Benjamin/Cummings. pp. 45–46. ISBN 0-8053-8915-6.
- ^ Page Module:Citation/CS1/styles.css has no content.Gardner, James (1994). Learning Unix (2nd ed.). SAMS. pp. 144. ISBN 0-672-30457-0.
- ^ Page Module:Citation/CS1/styles.css has no content.Cutler, Ellie (1994). SCO UNIX in a Nutshell. O'Reilly. pp. 75–76. ISBN 1-56592-037-6.
- ^ Page Module:Citation/CS1/styles.css has no content.Welsh, Matt; Kaufman, Lar (1995). Running Linux (1st ed.). O'Reilly. p. 33. ISBN 1-56592-100-3.
- ^ Page Module:Citation/CS1/styles.css has no content.Welsh, Matt; Dalheimer, Kalle; Kaufman, Lar (1999). Running Linux (3rd ed.). O'Reilly. pp. 323–330. ISBN 1-56592-469-X.
- ^ Page Module:Citation/CS1/styles.css has no content.Smith, Roderick W. (2003). "Managing Printers". Linux Power Tools. SYBEX. pp. 269–284. ISBN 0-7821-4226-5.
- ^ Page Module:Citation/CS1/styles.css has no content.Gray, Peter (August 1997). "Simplified LP configuration". AUUGN: The Journal of AUUG (Australian Unix Systems User Group). 18 (3): 9–11.
External links
Page Module:Side box/styles.css has no content.Page Template:Sister project/styles.css has no content.
Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.