LPD (от англ.
Line Printer Daemon — демон печати, реализующий одноимённый
протокол (англ.
Line Printer Daemon Protocol — «протокол демона построчной печати»). Этот протокол также известен под именем
LPR (англ.
Line Printer Remote — протокол «построчной печати на удалённом
принтере»).
Демон - компьютерная программа в системах класса UNIX, запускаемая самой системой и работающая в фоновом режиме без прямого взаимодействия с пользователем.
LPR/LPD — сетевой протокол прикладного уровня для передачи документов на печать, является стандартом де-факто для UNIX-систем, предоставляющий базовые возможности печати. В отличие от
Windows-печати, оперирует не «принтерами», а «очередями» — в простейшем случае очередь отождествляется с именем порта принтера: например, очередь
lpt2 будет обозначать принтер, подключённый к порту LPT2 на сервере печати.
Исторически для печати в UNIX-системах существовали две системы печати: LPD, разработанная для Berkeley UNIX, и AT&T Line Printer system. Эти системы печати были созданы в 70-х годах для печати текстов на построчно-печатающих (линейных) принтерах. Принимая во внимание, что аппаратные средства печати с тех пор существенно изменились, можно было бы предположить, что существенно переработаны и программные средства для управления печатью. Однако, этого не произошло. Хотя и были созданы различные улучшенные системы печати, например,
LPRng, однако ни одна из этих новых разработок не изменяла фундаментальные возможности этих систем.
Из-за того, что принтеры являются относительно медленными устройствами, с целью исключить задержки в программах система печати использует фоновую печать с кешированием данных. Файл данных, предназначенный для печати на принтере, сначала помещается во временную область (временный каталог на
диске), которая называется областью спулинга или каталогом спула. Фоновый процесс — демон печати — периодически сканирует область спулинга в ожидании файлов, предназначенных для печати. Для каждого принтера, подключенного к системе, используется свой подкаталог в области спулинга. Таким образом, область спулинга представляет собой набор очередей заданий на печать, дожидающихся того момента, когда освободится соответствующий принтер и демон печати отправит данное задание на печать (в фоновом режиме).
Современный реализацией LPD/LPR является пакет программ LPRng. Каждая программа пакета LPRng обеспечивает выполнение отдельной функции подсистемы печати:
- lpd — line printer daemon — демон системы печати. Обычно запускается на этапе загрузки системы из файла rc, но может быть запущен и пользователем.
- lpr — line print — пользовательская команда печати. Программа lpr принимает подлежащие печати данные и помещает их в спул, где их находит lpd и выводит на печать. Программа lpr — единственная программа, которая может ставить новые задания в очередь печати. Другие программы, которым необходимо использовать печать, обращаются для этого к lpr.
- lpq — line printer queue — программа, позволяющая просматривать очередь заданий, ожидающих печати на указанном принтере.
- lpc — line printer control — команда контроля системы lpd. С помощью lpc можно отключать принтеры, останавливать или переупорядочивать очереди печати и т. п. Некоторые из функций этой команды доступны пользователям, но в основном это средство для администратора.
- lprm — line printer remove — команда управления очередью печати, позволяет удалить одно или несколько заданий из очереди печати. При этом стираются соответствующие файлы данных и из системы печати удаляются все ссылки на них.
Реализация LPR включена также в пакет CUPS, но CUPS поддерживает и другие протоколы печати.
© greenmile
Источники:
Ru.Wikipedia.Org
В начало