Що означає золотник для друку?


18

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

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

Що означає "золотник" для друку?

Google каже, що це дієслово, яке означає "надсилати (дані, призначені для друку або обробки на периферійному пристрої) до проміжного сховища". Що таке проміжний склад, який представляє котушка друку, наприклад, при друкуванні за lprкомандою

Здається, Марк пов'язує значення котушки з блокуванням. Але я не можу цього зрозуміти, дивлячись на визначення, дане Google.

Спасибі.

Відповіді:


12

Котушка друку - це фактично буфер, керований за завданням, з програмою (шпулером), відповідальною за отримання завдань від подання програм та подачу їх на один або кілька принтерів. Суть котушки полягає в тому, щоб керувати зв’язком між двома системами з різною швидкістю та контролювати доступ до спільних пристроїв. Перші означає, що програми можуть надсилати завдання друку настільки швидко, наскільки вони хочуть, і ці завдання виконуються так само швидко (або повільно), як і принтери. Останній (як вказував на RonJohn ) гарантує , що робочі місця обробляються когерентно: таким чином , при друку завдання не переплутати.

Мережеві принтери надають власні котушки, а сервери друку (CUPS lpdтощо) також реалізують котушки. Більшість систем друку також обробляють контроль доступу, квоти, банери, параметри друку тощо. Шпулі використовуються в інших контекстах; наприклад, стрічкові сервери резервного копіювання тепер збирають дані резервного копіювання від мережевих хостів на системі швидкого дискового зберігання, щоб потім вони могли подавати сучасні стрічкові накопичувачі з приголомшливою швидкістю, необхідною для уникнення блиску стрічки взуття.

У контексті коментаря актуальність котушки полягає в тому, що вона декоррегує подання завдання друку від її виконання. Не спустінг означатиме, що подання завершиться лише завданням друку, і, отже, ваша lprкоманда буде завершена лише після завершення завдання. Видалення шпулі на комп’ютері може не мати бажаного результату, оскільки, оскільки сам принтер також може отримати котушку!


1
Яка частина значення "котушка" робить її не застосовною до IO буфера ядра Linux?
Тім

3
Поштова система часто використовує поштову шпулю під /var/spool/mailчи подібним місцеположенням. Це також "буфер" для забезпечення можливості асинхронного надсилання поштових повідомлень. Поштове повідомлення котується / в черзі, і поштовому клієнту не потрібно чекати, поки пошта фактично покине систему. Дуже подобається робота з друку.
Kusalananda

1
@ Тим, це насправді не питання про те, застосовується чи ні, це просто не називається котушкою. Зазвичай буфери призводять до того, що операції подачі в буфер не блокуються: writeзавершується, як тільки дані записуються в будь-який буфер, який використовується (в Linux, кеш сторінки), а не раз дані дійсно за призначенням. readне обов'язково також не блокує, і може повернути менше даних, ніж було вимагано.
Стівен Кітт

1
Зауважимо також, що - окрім обробки "зв'язку між двома системами з різною швидкістю" - котушки серіалізують доступ до тих повільніших пристроїв. (Ви можете собі уявити, як погано було б робити кілька завдань, щоб усі писали в принтер або модем одночасно ...)
RonJohn,

1
Шпулі друку зазвичай зберігаються на диску, де б не розміщено сервер друку. Коли я кажу, що принтери також можуть мати власну котушку, зазвичай це стосується "мережевих" принтерів (які підключені до мережі, а не до певного комп'ютера); вони розміщують власні сервери друку і мають керувати кількома вхідними завданнями (що вони роблять, маючи власну котушку). Якщо принтер має власну котушку, він може приймати завдання друку набагато швидше, ніж вони можуть бути надруковані, тому навіть якщо lprзачекати, коли принтер закінчить прийняття завдання, все одно буде відставати, перш ніж його повністю обробити.
Стівен Кітт

36

Коротше кажучи, шпулер складається з:

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

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

Тож тому зараз, навіть коли у принтера не вистачає паперу, ви все одно можете продовжувати користуватися своїм комп’ютером, тоді як тоді, коли я був дитиною на CP / M, весь комп'ютер замикався, поки ви не додали більше паперу ...

Чому його називають «сповиванням»?

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

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


5
Більш безпосередньо, «золотник» - це іменник, що означає «циліндричний пристрій, на який можна
намотати

1
@OrangeDog: включено у відповідь, дякую! :-)
Fabby

2
+1 Ніколи не знав, звідки походить термін "котушка".
Джо

@Joe З тієї ж причини діти сьогодні не знають, що насправді означає кнопка збереження, оскільки вони ніколи не бачили Diskette / Floppy / Stiffy / ... > :-)
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. Він пропонує більший контроль та гнучкість, але не розроблений для друку в мережі та є складнішим у налаштуванні.

У системі SVol4 спілінг lpкоманда приймає дані для друку, робить їх копію в каталозі котушки, пов'язаному з пунктом призначення. Місце призначення складається з імені принтера та необов'язкової специфікації класу, до якого належить принтер. Коли вказаний принтер зайнятий, завдання надсилається на інший принтер того ж класу. Каталог котушки зазвичай є, /var/spool/lp/request/printer-nameа файлу друку надається унікальне ім'я для ідентифікації роботи та користувача.

Доступ до принтера контролюється lpschedдемоном. Він підбирає завдання з каталогу котушки та надсилає їх до відповідного пункту призначення, коли він стає доступним. lpsched також зберігає журнал, як правило, в /usr/spool/lp/log. Файл журналу вказуватиме на будь-яку помилку при обробці завдань друку, а також ім’я користувача,

Дивіться також: Принтери та шпулер принтера - lp, lpstat та команди Скасувати | Поради та рекомендації для блогу ІТ


3
Приємно згадати свої джерела ...
Стівен Кітт

Я ще не закінчив ;-)

3
Я б запропонував використовувати форматування Markdown, щоб зрозуміти, який текст є вашим власним та який цитується. Ви також повинні похвалити
Ентоні Г - справедливість для Моніки,

4

Ніколи не забувати , що ЗОЛОТНИКА є абревіатурою S imultaneous P eripheral Про військових діях Про п л INE. З ранніх (але не ранніх) днів обчислень процесори отримували результати швидше, ніж принтери могли їх друкувати. Без розкручування процесор не міг закінчити "завдання друку", поки не закінчилася сама друк. Це часто призводило до простою процесора, очікування принтера.

Під час американської космічної програми відбувся великий стрибок вперед у розпусці. Комп'ютери надто повільно давали результати, тому для NASA була написана нова система розгортання (хоча вона та її наступники набули популярності, поки всі системи IBM не мали їх). Він був названий Н ouston A utomatic S пулінгова P rogram, що робить HASP перший вкладений акронім.

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


17
Зауважимо, що таке походження "золотника" широко вважається заднім числом , і "PDQ", безумовно, є.
chrylis -на страйк-

6
Це, очевидно, назви, побудовані після факту. Це стає приємністю поширювати такі чутки. Багато з них перераховані тут , може бути , це час , щоб додати «золотник» до нього!
труба

4
@Jennifer Хоча у IBM, безумовно, була програма під назвою SPOOL, як це було загальноприйнято, як у посиланні на файл Jargon File, що вони або вибрали це ім'я як каламбур, або отримали його з існуючого терміна. Так чи інакше, це, ймовірно, стосується завантаження завдань на котушку стрічки, а потім їх відтворення. У сучасному використанні він не посилається ні на застарілий продукт IBM, ні на котушку стрічки, тому вся дискусія є досить академічною та дотичною до питання, що це означає сьогодні.
IMSoP

3
@ Jennifer Ну, я не помиляюся, що це широко вигадано, навіть якщо люди неправильно їх придумують. І навіть якщо правда, що IBM винайшов цей термін, чому вони обрали саме ці слова? Чи виписали вони назву з долоні, а потім сказали "о, це збіг, це написано англійським словом" - чи це більше ймовірність, що вони шукали термін, який здався відповідним для функціональності, і думали, що "спустіть завдання на стрічка "була гарним зображенням?
IMSoP

4
Цей пост отримав би велику користь від цитат, зокрема, щодо його етимологічних тверджень.
TemporalWolf

3

Спулінг - досить старий шкільний термін. Сьогодні ви побачите "Чергу друку", що використовується частіше.

До черги - британська приказка "чекати в черзі". Тож завдання друку "стоять у черзі", тобто чекають у черзі на друк.

Після того, як робота закінчила розгортання (між лініями друку може бути тривалий час "розмірковування"), вона друкується, як правило, на основі FIFO, але пріоритет завдання друку може змінити її.

Друковані котушки та черги можна призупинити, щоб оператори міняли папір. Можна також перезапустити, якщо деякі сторінки були пошкоджені.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.