유닉스 시스템 V의 인쇄 하위시스템은 유닉스에서 인쇄하기 위한 여러 표준화된 시스템 중 하나이고, Solaris와 SCO OpenServer와 같은 상용 시스템 V-기반 유닉스 버전의 전형입니다. 이 인쇄 아키텍처를 실행하는 시스템은 전통적으로 BSD lpr 명령과 달리 인쇄 시스템에 대한 주요 인터페이스로 사용자 명령 lp의 사용에 의해 식별될 수 있었습니다 (비록 일부 시스템은 lp에 대한 별칭으로 lpr을 제공하지만).
시스템 V 인쇄 시스템에 사용할 수 있는 전형적인 사용자 명령은 다음과 같습니다:
- lp: 문서를 인쇄하기 위한 사용자 명령
- lpstat: 현재 인쇄 대기열을 보여줍니다
- cancel: 인쇄 대기열에서 작업을 삭제합니다
- lpadmin: 인쇄 시스템을 구성하는 시스템 관리 명령
- lpmove: 인쇄 대기열 사이에서 작업을 이동하는 시스템 관리 명령
History
유닉스 프로그래밍 모델에서, 디바이스 파일은 프린터와 같은 주변 장치에 대한 접근 지점 역할을 하는 특수 파일입니다. 예를 들어, 유닉스 시스템에 첫 번째 줄 프린터는 디바이스 (/dev) 디렉토리에서 파일 lp1, 즉, /dev/lp1에 의해 표시될 수 있습니다. 파일 메타포를 사용하면, 문서는 파일을 디바이스에 "복사"함으로써 인쇄될 수 있습니다: cp document /dev/lp1. 이것은 사용자당 하나의 프린터가 있는 경우에는 충분히 잘 작동했지만, 이 모델은 하나의 프린터를 공유해야 하는 여러 사용자에게 잘 확장되지 않았습니다. 해결책은 인쇄될 문서의 대기열 (또는 "스풀")을 만들고 데몬 (시스템 프로세스)을 이 대기열을 관리하고 문서가 도착한 순서대로 프린터로 보내기 위해 사용합니다.
문서를 대기열로 보내는 lp 명령을 갖는 그러한 시스템은 1973년 유닉스 버전 4에서 처음 도입되었습니다. 시스템 V 출시 4의 출시까지, 유틸리티의 제품군은 인쇄 작업 취소, 대기열 사이의 작업 이동, 대기열 활성화와 비활성화, 작업 스케줄러 데몬 활성화와 비활성화, 및 인쇄 시스템의 상태 보고서에 대한 명령을 포함하도록 성장했습니다. lp 명령은 인쇄될 대기열 문서를 처리하고 문서의 모양과 대기열에서의 위치를 제어하는 20개 이상의 다른 옵션을 갖고, 문서 인쇄가 완료되면 사용자의 이메일 알림도 처리했습니다. 그 명령은 대기열에서 작업을 제거하거나 진행 상황을 확인하기 위해, 각각, cancel 또는 lpstat 명령에 의해 사용될 수 있는 "job id"를 반환했습니다. 그 시스템은 설정 및 관리자가 상당히 복잡한 것으로 여겨졌지만, 대부분의 용도는 오직 이들 세 가지 명령을 사용할 것으로 예상되었습니다.
영향력 있는 AT&T 유닉스 시스템 V에서 함께 배포되면서, 구현은 아니더라도 인터페이스는 프린터에 대한 사용자 제어의 표준이 되었습니다. lp 명령은 POSIX.2 표준에서 요구 사항으로 포함되었고, 해당 이름에 의한 명령은 후속 lpr, LPRng 및 CUPS 인쇄 시스템에 나타났습니다. (SCO 유닉스와 같은 SVR4 파생 제품에서, lp 명령은 단순히 BSD-기반 lpr 시스템에서 사용하는 lpr 명령의 별칭이었습니다.)
1996년 끝무렵에, Running Linux는 "리눅스 인쇄 소프트웨어는 유닉스 표준 lp와 lpr 소프트웨어로 구성되어 있습니다"라고 명시했지만, 1999년까지 lp에 대한 지원이 줄어들었고 세 번째 판에서는 단순히 "lpr 명령은 리눅스에서 문서를 인쇄합니다"라고 말했습니다. 2003년까지 데비안, 맨드레이크, 레드 헷, 슬랙웨어 및 수세 배포판에 대한 설문 조사에서는 그것들의 모두가 lpr, LPRng 및 CUPS의 조합을 실행하고 있는 것으로 나타났습니다.
원래의 시스템 V 인쇄 시스템은 독점으로 유지됩니다; 어쨌든, 원본에서 굉장히 크게 수정된, 솔라리스 인쇄 시스템은 OpenSolaris 프로젝트의 일부로 오픈 소스 소프트웨어로 출시되고 있습니다. Common Unix Printing System은 인터페이스 수준에서 시스템 V 및 버클리 인쇄 아키텍처를 모두 에뮬레이트하지만, 내부 아키텍처는 둘 다와 다릅니다.
Criticism
lp에 대해 단순화된 구성 시스템에 대한 그의 소개에서, University of Wollongong의 저자 Peter Gray는 당시의 솔라리스 버전 2와 함께 제공되는 버전의 몇 가지 약점을 설명했습니다.
- 더 간단한 BSD lpr 시스템에서 사용되는 단일 데몬과 대조적으로, lp 시스템은 별도의 데몬, 스케줄링에 대해 하나와 원격 통신에 대해 하나를 사용했습니다.
- lpr 시스템은 단일 구성 파일로 제어할 수 있지만 lp는 관리를 위해 별도의 프로그램을 요구합니다.
- lp 시스템은 허가권을 지원했지만, 모델은 수백 명의 사용자로 확장되지 않았습니다.
결과로써, Gray는 "많은 관리자가 SVR4 머신에서 기존 lpr/lpd 시스템을 단순히 실행하기로 선택합니다"라고 관찰했습니다.