¿Qué significa carrete para imprimir?

18

Marcos escribió un comentario para mí

No sé de antemano cómo hacer que las tazas no se pongan en cola, es decir, cómo hacer que el comando lpr solo salga después de que se haya ejecutado el controlador de la impresora.

¿Qué significa "carrete" para imprimir?

Google dice que es un verbo que significa "enviar (datos destinados a impresión o procesamiento en un dispositivo periférico) a una tienda intermedia". ¿Cuál es el almacén intermedio que representa el carrete de impresión, por ejemplo, al imprimir por lprcomando?

Mark parece relacionar el significado del carrete con el bloqueo. Pero no puedo entender eso mirando la definición dada por Google.

Gracias.

Tim
fuente

Respuestas:

12

Una bobina de impresión es efectivamente un búfer, administrado por trabajo, con un programa (la cola de impresión) responsable de recibir trabajos al enviar programas y alimentarlos a una o más impresoras. El objetivo de un spool es manejar la comunicación entre dos sistemas con diferentes velocidades y controlar el acceso a dispositivos compartidos. Lo primero significa que los programas pueden enviar trabajos de impresión tan rápido como lo deseen, y esos trabajos se manejan tan rápido (o lentamente) como pueden manejar las impresoras. Esta última (como salida en punta por RonJohn ) asegura que los trabajos se manejan de manera coherente: de este modo cuando se imprime, los trabajos no se mezclan.

Las impresoras en red proporcionan sus propias bobinas, y los servidores de impresión (CUPS, lpdetc.) también implementan bobinas. La mayoría de los sistemas de impresión también manejan control de acceso, cuotas, pancartas, opciones de impresión, etc. Los carretes se usan en otros contextos; por ejemplo, los servidores de respaldo basados ​​en cinta ahora ponen en cola los datos de respaldo de los hosts en red en un sistema de almacenamiento rápido basado en disco, para que luego puedan alimentar unidades de cinta modernas a las velocidades tremendas que necesitan para evitar el brillo de la cinta.

En el contexto del comentario, la relevancia de un carrete es que relaciona el envío del trabajo de impresión desde su cumplimiento. No poner en cola significaría que el envío solo se completará con el trabajo de impresión y, por lo tanto, su lprcomando solo se completará una vez que se complete el trabajo. Sin embargo, la eliminación del carrete de su computadora puede no tener el resultado deseado, ya que la impresora en sí también podría hacerlo.

Stephen Kitt
fuente
1
¿Qué parte del significado de "spool" hace que no sea aplicable al buffer IO del kernel de Linux?
Tim
3
El sistema de correo a menudo usa un carrete de correo en /var/spool/mailuna ubicación similar o inferior . Este también es un "búfer" para permitir el envío de mensajes de correo casi asíncrono. El mensaje de correo se pone en cola / en cola y el cliente de correo no tiene que esperar a que el correo salga del sistema. Muy parecido a un trabajo de impresión.
Kusalananda
1
@Tim no es realmente una cuestión de si es aplicable o no, simplemente no se llama un carrete. Los búferes generalmente dan como resultado que las operaciones que alimentan el búfer no se bloqueen: se writecompleta tan pronto como los datos se escriben en el búfer que se usa (en Linux, el caché de la página), no una vez que los datos están realmente en su destino. readtampoco es necesariamente sin bloqueo, y puede devolver menos datos de los solicitados.
Stephen Kitt
1
Tenga en cuenta también que, además de manejar la "comunicación entre dos sistemas con velocidades diferentes", los carretes serializan el acceso a esos dispositivos más lentos. (Puedes imaginar lo malo que sería para múltiples trabajos escribir en la impresora o en el módem al mismo tiempo ...)
RonJohn
1
Los carretes de impresión generalmente se almacenan en el disco, donde sea que esté alojado el servidor de impresión. Cuando digo que las impresoras también pueden tener su propio carrete, este suele ser el caso de las impresoras "en red" (que están conectadas a una red, en lugar de a una computadora específica); ellos alojan sus propios servidores de impresión y tienen que administrar múltiples trabajos entrantes (lo que hacen al tener su propio spool). Cuando una impresora tiene su propio carrete, puede aceptar trabajos de impresión mucho más rápido de lo que pueden imprimirse, por lo que incluso si lprespera que la impresora termine de aceptar el trabajo, todavía habrá un retraso antes de que se procese por completo.
Stephen Kitt
36

En pocas palabras, una cola de impresión consiste en:

  • un programa de fondo
  • un directorio por impresora
  • un archivo por trabajo de impresión

En su caso, el programa de primer plano ( lpr) envía sus trabajos de impresión cups, que lo almacena y luego utiliza comunicación serial, paralela, USB, de red, ... para comenzar realmente el proceso de impresión.

Es por eso que hoy en día, incluso cuando la impresora se queda sin papel , puede seguir usando su computadora, mientras que cuando era un niño en CP / M, toda la computadora se bloqueó hasta que agregó más papel ...

¿Por qué se llama "spooling"?

Debido a que en esos tiempos, las computadoras grandes usaban cinta para almacenar este tipo de archivos porque los discos eran demasiado caros, por lo que cuando trabajaba dentro del centro de datos, lo primero que escuchaba era que las cintas comenzaban a girar¹ y solo después de un segundo o 3-4 la impresora comenzaría a imprimir (si tuviera suerte). ;-)

Nota 1: "carrete" es un sustantivo que significa "un dispositivo cilíndrico en el que se puede enrollar la cinta magnética", por lo tanto, "carrete" es el dispositivo cilíndrico que gira y enrolla la cinta ...

Fabby
fuente
55
Más directamente, "carrete" es un sustantivo que significa "un dispositivo cilíndrico en el que se puede enrollar la cinta magnética"
Stop Harming Monica
1
@OrangeDog: incorporado en la respuesta, ¡gracias! :-)
Fabby
2
+1 Nunca supe de dónde vino el término "carrete".
Joe
@ Joe La misma razón por la que los niños de hoy en día no saben lo que significa en realidad el botón Guardar, ya que nunca han visto un Disquete / Disquete / Stiffy / ... > :-)
Fabby
5

Primero, comencemos con el significado del término "spooling": a veces el tamaño de un documento es más grande que la memoria de la impresora, por lo que "spooling de impresora" permite el envío de varios documentos a una impresora y poner todos estos documentos en una cola.

Ahora, bajo Unix hay dos sistemas de impresión:

  1. El sistema de spooling BSD utiliza lpddaemon para programar los trabajos de impresión.
  2. El sistema de spooling SVR4 se usa lpschedcomo planificador.

USAIL de Jeff Lessem : el aprendizaje independiente de la administración del sistema Unix tiene una sección sobre Impresión en Unix que proporciona una buena descripción de los sistemas BSD y SVR4:

El sistema de bobinado BSD

se extiende bien a redes grandes y heterogéneas permitiendo que muchas computadoras compartan impresoras.

Bajo el sistema de spooling BSD, el acceso a las impresoras está controlado por el lpd demonio y el lprprograma. lpres el único programa en un sistema BSD que puede poner en cola archivos para imprimir.

lpracepta datos para imprimir, los coloca en un directorio de spool y notifica al lpddemonio. Para cada trabajo de impresión, lprcrea dos archivos, un archivo de control (cfxxx) y un archivo de datos (dfxxx) en el directorio de spool, xxx indicando una identificación de trabajo única. El archivo de control contiene la información para manejar el trabajo de impresión, incluida la identidad del propietario. El archivo de datos contiene los datos reales a imprimir.

El lpddaemon comprueba el /etc/printcaparchivo para identificar la impresora de destino. Si la impresora de destino es un dispositivo local, lpdasegúrese de que se lpdesté ejecutando una copia del daemon en esa cola de impresión. De lo contrario, lpdabre una conexión con el host remoto al que está conectada la impresora y le transfiere tanto el control como el archivo de datos.

Los trabajos de impresión se programan por lpdPrimero en entrar, Primero en salir (FIFO). Sin embargo, el administrador del sistema puede usar el comando lpc para alterar la prioridad de los trabajos en la cola de impresión.

El sistema de spool SVR4 es utilizado por Solaris y HP-UX. Ofrece más control y flexibilidad, pero no fue diseñado para la impresión en red y es más complicado de configurar.

Bajo el sistema de spooling SVR4, el lpcomando acepta los datos que se imprimirán, hace una copia de ellos en el directorio de spool asociado con el destino. El destino consiste en un nombre de impresora y una especificación opcional de una clase a la que pertenece la impresora. Cuando la impresora especificada está ocupada, el trabajo se envía a otra impresora de la misma clase. El directorio de cola es normalmente /var/spool/lp/request/printer-namey el archivo de impresión recibe un nombre único para identificar tanto el trabajo como el usuario.

El acceso a la impresora está controlado por lpscheddaemon. Recoge los trabajos del directorio de spool y los envía al destino apropiado cuando esté disponible. lpsched también mantiene un registro, generalmente en /usr/spool/lp/log. El archivo de registro indicaría cualquier error al procesar los trabajos de impresión, así como el nombre de usuario,

Consulte también: Impresoras y cola de impresión: comandos lp, lpstat y cancel | Consejos y trucos para el blog de TI

Anthony G - justicia para Monica
fuente
3
Es bueno mencionar sus fuentes ...
Stephen Kitt
Todavía no
3
Sugeriría usar el formato Markdown para dejar en claro qué texto es el suyo y cuál se cita. También debe acreditar al autor original, Jeff Lessem como se explica en unix.stackexchange.com/help/referencing
Anthony G - justicia para Mónica
4

Nunca olvidar que CARRETE es un acrónimo de S imultaneous P eripheral O peraciones O n L ine. Desde los primeros días (pero no los primeros) de la informática, los procesadores generaron resultados más rápido de lo que las impresoras podrían imprimirlos. Sin spool, el procesador no pudo finalizar un "trabajo de impresión" hasta que la impresión en sí misma finalizara. Esto a menudo resultó en un procesador inactivo, esperando la impresora.

Durante el programa espacial estadounidense, se produjo un gran salto en la cola. Las computadoras producían resultados demasiado lentamente, por lo que se escribió un nuevo sistema de spool solo para la NASA (aunque ésta y sus sucesores ganaron popularidad hasta que todos los sistemas de IBM los tuvieron). Se le llamó el H Ouston A utomatic S agrupación P rograma, haciendo HASP la primera acrónimo anidada.

Una buena analogía con el carrete es una fábrica de hilos: el hilo se hila a un ritmo rápido y se almacena, donde más, en un carrete. Luego, el carrete de hilo finalmente se coloca en una máquina de coser u otra máquina, que funciona a una velocidad mucho más lenta, donde se usa para crear un producto terminado.

Jennifer
fuente
17
Tenga en cuenta que la derivación de "spool" se considera ampliamente como un backronym , y "PDQ" definitivamente lo es.
chrylis -on strike-
66
Obviamente es un backronym construido después del hecho. Se está volviendo una moda difundir tales rumores. Muchos de ellos se enumeran aquí , ¡tal vez es hora de agregarle "spool"!
tubería
44
@Jennifer Aunque IBM ciertamente tenía un programa llamado SPOOL, se conjetura ampliamente, como en el enlace del archivo Jargon anterior, que eligieron ese nombre como una especie de juego de palabras o lo derivaron de un término existente. De cualquier manera, probablemente se refiere a cargar los trabajos en un carrete de cinta y luego reproducirlos. En el uso moderno, no se refiere ni a un producto obsoleto de IBM ni a un carrete de cinta, por lo que todo el debate es bastante académico y tangencial a la cuestión de lo que significa hoy.
IMSoP
3
@Jennifer Bueno, no me equivoco de que sea ampliamente conjeturado, incluso si la gente está equivocada al conjeturarlo. E incluso si es cierto que IBM inventó el término, ¿por qué eligieron esas palabras? ¿Escribieron el nombre a mano y luego dijeron "oh, eso es una coincidencia, se deletrea una palabra en inglés", o es más probable que estuvieran buscando un término que pareciera apropiado para la funcionalidad, y pensaron que "poner los trabajos en cola" la cinta "fue una buena imagen?
IMSoP
44
Esta publicación se beneficiaría enormemente de las citas, en particular por sus afirmaciones etimológicas.
TemporalWolf
3

Enrollar es un término escolar bastante antiguo. Hoy en día verá que "Cola de impresión" se usa con más frecuencia.

To Queue es un dicho británico de "esperar en línea". Por lo tanto, los trabajos de impresión están "en cola", es decir, esperando en línea para imprimir.

Una vez que un trabajo ha terminado de ponerse en cola (puede haber largos tiempos de "reflexión" entre líneas de impresión), se imprime, generalmente en una base FIFO, pero la prioridad de Imprimir trabajo puede anularlo.

Los carretes de impresión y las colas se pueden pausar para que los operadores cambien el papel. También se puede reiniciar si algunas páginas se dañaron.

WinEunuuchs2Unix
fuente