Во-первых, давайте начнем со значения термина «буферизация»: иногда размер документа больше, чем память принтера, поэтому «буферизация принтера» позволяет отправлять несколько документов на принтер и помещать все эти документы в очередь.
Теперь под 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 | Советы и хитрости для ИТ-блога