본문 바로가기
리눅스

System V printing system

by 다움위키 2023. 12. 23.

유닉스 시스템 V인쇄 하위시스템은 유닉스에서 인쇄하기 위한 여러 표준화된 시스템 중 하나이고, SolarisSCO 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, LPRngCUPS 인쇄 시스템에 나타났습니다. (SCO 유닉스와 같은 SVR4 파생 제품에서, lp 명령은 단순히 BSD-기반 lpr 시스템에서 사용하는 lpr 명령의 별칭이었습니다.)

1996년 끝무렵에, Running Linux는 "리눅스 인쇄 소프트웨어는 유닉스 표준 lplpr 소프트웨어로 구성되어 있습니다"라고 명시했지만, 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 시스템을 단순히 실행하기로 선택합니다"라고 관찰했습니다.

External links