Во-первых, давайте начнем со значения термина «буферизация»: иногда размер документа больше, чем память принтера, поэтому «буферизация принтера» позволяет отправлять несколько документов на принтер и помещать все эти документы в очередь.
Теперь под Unix есть две системы печати:
- Система спулинга BSD использует
lpdдемон для планирования заданий на печать.
- Система буферизации SVR4 использует
lpschedв качестве планировщика.
USAIL : Джефф Лессем : Независимое обучение системному администрированию Unix имеет раздел « Печать под Unix», в котором представлен хороший обзор систем BSD и SVR4:
Система спулинга BSD
хорошо распространяется на большие гетерогенные сети, позволяющие многим компьютерам совместно использовать принтеры.
В системе спулинга BSD доступ к принтерам контролируется lpd
демоном и lprпрограммой. lprэто единственная программа в системе BSD, которая может ставить в очередь файлы для печати.
lprпринимает данные для печати, помещает их в каталог спулинга и уведомляет lpdдемона. Для каждого задания на печать lprсоздаются два файла: управляющий файл (cfxxx) и файл данных (dfxxx) в каталоге очереди печати, где xxx указывает уникальный идентификатор задания. Управляющий файл содержит информацию для обработки задания на печать, включая личность владельца. Файл данных содержит фактические данные для печати.
lpdДемон проверяет /etc/printcapфайл для идентификации принтера назначения. Если целевой принтер является локальным устройством, lpdубедитесь ,
что в lpdэтой очереди печати запущена копия демона. В противном случае lpdоткрывает соединение с удаленным хостом, к которому подключен принтер, и передает на него и файл управления, и файл данных.
Задания на печать планируются по lpdпринципу «первым пришел - первым обслужен» (FIFO). Однако системный администратор может использовать команду lpc для изменения приоритета заданий в очереди печати.
Система буферизации SVR4 используется Solaris и HP-UX. Он предлагает больше контроля и гибкости, но не предназначен для сетевой печати и более сложен в настройке.
В системе спулинга SVR4 lpкоманда принимает данные для печати и делает их копию в каталоге спула, связанном с местом назначения. Назначение состоит из имени принтера и необязательной спецификации класса, к которому принадлежит принтер. Когда указанный принтер занят, задание отправляется на другой принтер того же класса. Каталог спула обычно находится в каталоге, /var/spool/lp/request/printer-nameа файлу печати присваивается уникальное имя, идентифицирующее как задание, так и пользователя.
Доступ к принтеру контролируется lpschedдемоном. Он забирает задания из каталога спула и отправляет их в соответствующее место назначения, когда оно становится доступным. lpsched также ведет журнал, обычно в /usr/spool/lp/log. В файле журнала будет указана любая ошибка при обработке заданий на печать, а также имя пользователя,
См. Также: Принтеры и диспетчер очереди печати - команды lp, lpstat и cancel | Советы и хитрости для ИТ-блога