Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

System V printing system

From Wikipedia, the free encyclopedia
Printing subsystem of UNIX System V

Theprinting subsystem ofUNIX System V is one of several standardized systems for printing on Unix, and is typical of commercial System V-based Unix versions such asSolaris andSCO OpenServer. A system running this print architecture could traditionally be identified by the use of the user commandlp as the primary interface to the print system, as opposed to theBSDlpr command (though some systems providelpr as an alias tolp).

Typical user commands available to the System V printing system are:

  • lp: the user command to print a document
  • lpstat: shows the current print queue
  • cancel: deletes a job from the print queue
  • lpadmin: a system administration command that configures the print system
  • lpmove: a system administration command that moves jobs between print queues

History

[edit]

In the Unix programming model,device files are special files that act as access points to peripheral devices such as printers. For example, the firstline printer on a Unix system might be represented by a filelp1 in the device (/dev) directory,i.e.,/dev/lp1. Using the file metaphor, a document could by printed by "copying" the file onto the device: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 tomultiple users having to share one printer.[1] The solution was to create a queue (or "spool") of documents to be printed and use adaemon (system process) to manage this queue and send the documents to the printer in the order in which they arrived.

Such a system, with anlp command to send documents to the queue, was first introduced in 1973 inVersion 4 of Unix.[2] By the release ofSystem 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] Thelp command handled queue documents to be printed[3] and had over 20 different options that controlled the appearance of the document and its place in the queue,[4] and even handled email notification of the user once the document had finished printing.[2] The command returned a "job id" which could be used by thecancel orlpstat commands to remove the job from the queue or check on its progress, respectively.[5] 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]

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. Thelp command was included as a requirement in thePOSIX.2 standard,[6] and a command by that name appeared in the subsequent lpr,LPRng andCUPS printing systems. (In SVR4 derivates likeSCO UNIX, thelp command was simply an alias for thelpr command used by the BSD-basedlpr system.[7])

As late as 1996,RunningLinux stated "The Linux printing software consists of the UNIX standardlp andlpr software,"[8] but by 1999 support forlp was waning and the third edition simply stated "Thelpr command prints a document on Linux."[9] By 2003, a survey of theDebian,Mandrake,Red Hat,Slackware andSuSE 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 asopen source software as part of theOpenSolaris project. TheCommon Unix Printing System emulates both System V and Berkeley print architectures on the interface level, though its internal architecture is different from both.

Criticism

[edit]

In his introduction to a simplified configuration system for lp, author Peter Gray of theUniversity of Wollongong described several weaknesses of the version shipping with the then-currentSolaris (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

[edit]

References

[edit]
  1. ^Kofler, Michael (1997). "6.4 Printer Configuration".Linux: Installation, configuration and use. Addison-Wesley. pp. 146–150.ISBN 0-201-17809-5.
  2. ^abArthur, Lowell Jay (1986).Unix Shell Programming. John Wiley & Sons. p. 190.ISBN 0-471-84932-4.
  3. ^abNemeth, 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.
  4. ^abRosen, 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.
  5. ^Sobell, Mark G. (1985).A Practical Guide to UNIX System V. Benjamin/Cummings. pp. 45–46.ISBN 0-8053-8915-6.
  6. ^Gardner, James (1994).Learning Unix (2nd ed.). SAMS. pp. 144.ISBN 0-672-30457-0.
  7. ^Cutler, Ellie (1994).SCO UNIX in a Nutshell. O'Reilly. pp. 75–76.ISBN 1-56592-037-6.
  8. ^Welsh, Matt; Kaufman, Lar (1995).Running Linux (1st ed.). O'Reilly. p. 33.ISBN 1-56592-100-3.
  9. ^Welsh, Matt; Dalheimer, Kalle; Kaufman, Lar (1999).Running Linux (3rd ed.). O'Reilly. pp. 323–330.ISBN 1-56592-469-X.
  10. ^Smith, Roderick W. (2003). "Managing Printers".Linux Power Tools. SYBEX. pp. 269–284.ISBN 0-7821-4226-5.
  11. ^Gray, Peter (August 1997)."Simplified LP configuration".AUUGN: The Journal of AUUG (Australian Unix Systems User Group).18 (3):9–11.

External links

[edit]
The WikibookGuide to Unix has a page on the topic of:Commands
File system
Processes
User environment
Text processing
Shell builtins
Searching
Documentation
Software development
Miscellaneous
Retrieved from "https://en.wikipedia.org/w/index.php?title=System_V_printing_system&oldid=1277085226"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp