Что означает катушка для печати?

18

Марк написал комментарий для меня

Я не знаю, как сделать так, чтобы чашки не спулировали, то есть заставить команду lpr завершиться только после запуска драйвера принтера.

Что означает «катушка» для печати?

Google говорит, что это глагол, означающий «отправить (данные, которые предназначены для печати или обработки на периферийном устройстве) в промежуточное хранилище». Какое промежуточное хранилище представляет катушка для печати, например, при печати по lprкоманде

Марк, кажется, связывает значение катушки с блокировкой. Но я не могу понять это, посмотрев на определение, данное Google.

Благодарю.

Тим
источник

Ответы:

12

Катушка печати - это, по сути, буфер, управляемый по заданию, с программой (диспетчером очереди), отвечающей за получение заданий от отправки программ и подачу их на один или несколько принтеров. Задача буфера - управлять связью между двумя системами с разными скоростями и контролировать доступ к общим устройствам. Первое означает, что программы могут отправлять задания на печать так быстро, как им хочется, и эти задания обрабатываются так же быстро (или медленно), как и принтеры. Последний (как указывал на RonJohn ) гарантирует , что рабочие места обрабатываются когерентно: таким образом , при печати задания не перепутать.

Сетевые принтеры предоставляют собственные катушки, а серверы печати (CUPS и lpdт. Д.) Также поддерживают катушки. Большинство систем печати также управляют контролем доступа, квотами, баннерами, параметрами печати и т. Д. Катушки используются в других контекстах; например, серверы резервного копирования на магнитной ленте теперь помещают в резервные копии данные с сетевых хостов в быстродействующей системе хранения данных на дисках, чтобы они могли затем подавать современные ленточные накопители с огромной скоростью, необходимой им, чтобы избежать чистоты ленты.

В контексте комментария актуальность спула заключается в том, что он декоррелирует подачу задания на печать с момента его выполнения. Отсутствие буферизации означает, что отправка будет завершена только с заданием на печать, и, следовательно, ваша lprкоманда будет выполнена только после завершения задания. Удаление катушки на вашем компьютере может не дать желаемого результата, поскольку сам принтер тоже может наматывать катушку!

Стивен Китт
источник
1
Какая часть значения «спул» делает его неприменимым к буферу ввода-вывода ядра Linux?
Тим
3
Почтовая система часто использует почтовую катушку в /var/spool/mailдругом или аналогичном месте. Это также «буфер», позволяющий почти асинхронную отправку почтовых сообщений. Почтовое сообщение помещается в очередь / помещается в очередь, и почтовому клиенту не нужно ждать, пока письмо действительно покинет систему. Очень похоже на работу печати.
Кусалананда
1
@ Это не вопрос применимости или нет, просто это не называется катушкой. Как правило, буферы приводят к тому, что операции, поступающие в буфер, являются неблокирующими: writeзавершается, как только данные записываются в любой используемый буфер (в Linux, кеш страниц), а не когда данные действительно находятся в месте назначения. readне обязательно неблокирующая, и может вернуть меньше данных, чем было запрошено.
Стивен Китт,
1
Отметим также, что - помимо обработки «связи между двумя системами с разными скоростями» - катушки сериализуют доступ к этим более медленным устройствам. (Вы можете себе представить, как было бы плохо для нескольких заданий одновременно писать на принтер или модем ...)
RonJohn
1
Катушки с печатью обычно хранятся на диске, где бы ни находился сервер печати. Когда я говорю, что принтеры также могут иметь свою собственную катушку, это обычно относится к «сетевым» принтерам (которые подключены к сети, а не к конкретному компьютеру); они размещают свои собственные серверы печати и должны управлять несколькими входящими заданиями (что они делают, имея собственную катушку). Когда принтер имеет свою собственную катушку, он может принимать задания на печать намного быстрее, чем они могут быть напечатаны, поэтому даже если бы он lprдождался, пока принтер завершит прием задания, все равно будет задержка, прежде чем он будет полностью обработан.
Стивен Китт
36

В двух словах, спулер состоит из:

  • фоновая программа
  • каталог на принтер
  • файл на задание на печать

В вашем случае программа переднего плана ( lpr) отправляет свои задания на печать cups, которые ее сохраняют, а затем использует последовательный, параллельный, USB, сетевой ... обмен данными, чтобы фактически запустить процесс печати.

Вот почему в настоящее время, даже когда в принтере заканчивается бумага, вы все равно можете продолжать использовать свой компьютер, тогда как когда я был ребенком на CP / M, весь компьютер зависал, пока вы не добавили больше бумаги ...

Почему это называется "спулинг"?

Потому что в те времена на больших компьютерах для хранения файлов такого типа использовалась лента, поскольку диски были слишком дорогими, поэтому, когда вы работали внутри центра обработки данных, первое, что вы услышали, это ленты, начинающие раскручиваться… и только через секунду или 3-4 принтер начнет печатать (если вам повезет). ;-)

Примечание 1: «Катушка» - это существительное, означающее «цилиндрическое устройство, на которое может быть намотана магнитная лента», поэтому «катушка» - это цилиндрическое устройство, которое вращается и наматывает ленту ...

Fabby
источник
5
Точнее, «катушка» - это существительное, означающее «цилиндрическое устройство, на которое можно
намотать
1
@OrangeDog: включены в ответ, спасибо! :-)
Fabby
2
+1 Никогда не знал, откуда взялся термин «шпуля».
Джо
@Joe По той же причине дети в настоящее время не знают, что на самом деле означает кнопка сохранения, поскольку они никогда не видели дискеты / дискеты / жесткие / ... > :-)
Fabby
5

Во-первых, давайте начнем со значения термина «буферизация»: иногда размер документа больше, чем память принтера, поэтому «буферизация принтера» позволяет отправлять несколько документов на принтер и помещать все эти документы в очередь.

Теперь под Unix есть две системы печати:

  1. Система спулинга BSD использует lpdдемон для планирования заданий на печать.
  2. Система буферизации 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 | Советы и хитрости для ИТ-блога

Энтони Дж - справедливость для Моники
источник
3
Приятно упомянуть ваши источники ...
Стивен Китт
Я еще не закончил ;-)
3
Я бы предложил использовать форматирование Markdown, чтобы было понятно, какой текст принадлежит вам, а какой цитируется. Вам также следует отдать должное первоначальному автору, Джеффу Лессему, как объяснено в unix.stackexchange.com/help/referencing
Энтони Дж - правосудие для Моники
4

Никогда не забывать , что ЗОЛОТНИКА является аббревиатурой S imultaneous P eripheral О военных действиях О п л INE. С первых (но не самых ранних) дней вычислений процессоры генерировали результаты быстрее, чем принтеры могли их распечатать. Без буферизации процессор не мог завершить «задание на печать», пока сама печать не была завершена. Это часто приводило к неработающему процессору, ожидающему принтера.

Большой скачок в спулинге произошел во время американской космической программы. Компьютеры производили результаты слишком медленно, поэтому новая система спулинга была написана только для НАСА (хотя она и ее преемники набирали популярность, пока все системы IBM не имели их). Он был назван Н ouston A utomatic S пулинговой P rogram, что делает HASP первый вложенный акроним.

Хорошая аналогия с буферизацией - это фабрика нитей - нить быстро раскручивается и сохраняется - где еще - на катушке. Затем катушку с нитью в конечном итоге кладут на швейную или другую машину, которая работает гораздо медленнее, где она используется для создания готового продукта.

Дженнифер
источник
17
Обратите внимание, что этот термин «спул» широко считается обратным , а «PDQ» определенно .
Хрилис - на забастовке -
6
Это, очевидно, бэкроним, созданный по факту. Становится модным распространять такие слухи. Многие из них перечислены здесь , может быть, пришло время добавить «катушку» к нему!
труба
4
@Jennifer Хотя у IBM, безусловно, была программа под названием SPOOL, широко распространено мнение, что, как и в приведенной выше ссылке на файл Jargon File, они либо выбрали это имя в качестве своего рода каламбура, либо извлекли его из существующего термина. В любом случае, это, вероятно, относится к загрузке работ на катушку с лентой и их воспроизведению. В современном использовании это не относится ни к устаревшему продукту IBM, ни к катушке ленты, поэтому вся дискуссия носит довольно академический характер и касается вопроса о том, что он означает сегодня.
IMSoP
3
@ Дженнифер Хорошо, я не ошибаюсь, что это широко предположили, даже если люди не правы, чтобы предположить это. И даже если это правда, что IBM изобрела этот термин, почему они выбрали эти слова? Они написали название от руки, а затем сказали: «О, это совпадение, оно записывает английское слово» - или, скорее всего, они искали термин, который казался подходящим для функциональности, и думали, что «подкладывают работу на лента "была хорошая картинка?
IMSoP
4
Этот пост очень выиграл бы от цитат, в частности из-за их этимологических утверждений.
TemporalWolf
3

Катание - довольно старый школьный термин. В настоящее время вы увидите, что «Очередь печати» используется чаще.

В очередь - британская поговорка «ждать в очереди». Таким образом, задания на печать помещаются в очередь, то есть ожидают в очереди на печать.

После того, как задание закончило буферизацию (между строками печати может быть много времени на обдумывание), оно печатается, как правило, в формате FIFO, но приоритет задания печати может его переопределить.

Катушки и очереди печати могут быть приостановлены, чтобы операторы могли сменить бумагу. Можно также перезапустить, если некоторые страницы были повреждены.

WinEunuuchs2Unix
источник