Solución:
En pocas palabras, un spooler consta de:
- 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 a cups
, que lo almacena y luego utiliza comunicación en serie, paralelo, USB, red, … para iniciar realmente el proceso de impresión.
Entonces por eso hoy en día incluso cuando la impresora se queda sin papel todavía puede seguir usando su computadora, mientras que cuando era un niño en CP / M, toda la computadora se bloqueaba hasta que agregaba más papel …
¿Por qué se llama “spooling”?
Porque en aquellos tiempos, las computadoras grandes usaban cinta para almacenar este tipo de archivos, ya que los discos eran demasiado costosos, por lo que cuando se trabajaba en el interior del cuarto de máquinas centro de datos, lo primero que oía era que las cintas comenzaban a girar¹ y solo después de un segundo o 3-4 la impresora comenzaría a imprimir (si tenía suerte). 😉
Nota 1: Un “carrete” es un sustantivo que significa “un dispositivo cilíndrico en el que se puede enrollar la cinta magnética”, por lo tanto, “enrollar” es el dispositivo cilíndrico que gira y enrolla la cinta …
Un spool de impresión es efectivamente un búfer, administrado por trabajo, con un programa (el spooler) responsable de recibir los trabajos de los programas que se envían 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 los dispositivos compartidos. El primero significa que los programas pueden enviar trabajos de impresión tan rápido como lo deseen, y esos trabajos se procesan tan rápido (o lentamente) como las impresoras pueden hacerlo. Este último (como lo señaló RonJohn) asegura que los trabajos se manejen de manera coherente: por lo tanto, al imprimir, los trabajos no se mezclan.
Las impresoras en red proporcionan sus propios spools y servidores de impresión (CUPS, lpd
etc.) también implementan carretes. La mayoría de los sistemas de impresión también manejan el control de acceso, cuotas, pancartas, opciones de impresión, etc. Los spools se utilizan en otros contextos; por ejemplo, los servidores de respaldo basados en cinta ahora almacenan datos de respaldo de hosts en red en un sistema de almacenamiento rápido basado en disco, para que luego puedan alimentar unidades de cinta modernas a las tremendas velocidades que necesitan para evitar el brillo de zapatos en cinta.
En el contexto del comentario, la relevancia de un carrete es que descorrelaciona el envío del trabajo de impresión de su cumplimiento. No poner en cola significaría que el envío solo se completaría con el trabajo de impresión y, por lo tanto, su lpr
El comando solo se completará una vez que se complete el trabajo. Sin embargo, es posible que retirar el carrete de su computadora no tenga el resultado deseado, ya que la propia impresora también se podría poner en el carrete.
Primero, comencemos con el significado del término “poner en cola”: a veces el tamaño de un documento es mayor que la memoria de la impresora, por lo que “poner en cola de la impresora” permite enviar varios documentos a una impresora y poner todos estos documentos en una cola.
Ahora, bajo Unix hay dos sistemas de impresión:
- El sistema de bobinado BSD utiliza
lpd
demonio para programar los trabajos de impresión. - El sistema de bobinado SVR4 utiliza
lpsched
como programador.
USAIL: El aprendizaje independiente de administración de sistemas Unix de Jeff Lessem tiene una sección sobre Impresión en Unix que proporciona una buena descripción general de los sistemas BSD y SVR4:
los Sistema de bobinado BSD
se extiende bien a redes grandes y heterogéneas, lo que permite que muchas computadoras compartan impresoras.
Bajo el sistema de cola BSD, el acceso a las impresoras está controlado por
lpd
demonio y ellpr
programa.lpr
es el único programa en un sistema BSD que puede poner archivos en cola para imprimirlos.
lpr
acepta los datos que se van a imprimir, los coloca en un directorio de spool y notifica allpd
demonio. Para cada trabajo de impresión,lpr
crea dos archivos, un archivo de control (cfxxx) y un archivo de datos (dfxxx) en el directorio de cola, xxx indicando un ID de trabajo único. 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 que se van a imprimir.los
lpd
daemon comprueba el/etc/printcap
archivo para identificar la impresora de destino. Si la impresora de destino es un dispositivo local,
lpd
se asegura de una copia dellpd
El demonio se está ejecutando en esa cola de impresión. De lo contrariolpd
abre una conexión con el host remoto al que está conectada la impresora y le transfiere tanto el archivo de control como el de datos.Los trabajos de impresión están programados por
lpd
en base al primero 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.
Sistema de bobinado SVR4 es utilizado por Solaris y HP-UX. Ofrece más control y flexibilidad, pero no se diseñó para la impresión en red y es más complicado de configurar.
Bajo el sistema de bobinado SVR4, el
lp
El comando acepta los datos que se van a imprimir, hace una copia de ellos en el directorio spool asociado con el destino. El destino consta de 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 spool es normalmente/var/spool/lp/request/printer-name
y el archivo de impresión recibe un nombre exclusivo para identificar tanto el trabajo como el usuario.El acceso a la impresora está controlado por
lpsched
demonio. Recoge los trabajos del directorio de cola y los envía al destino apropiado cuando está disponible. lpsched también lleva un registro, generalmente en/usr/spool/lp/log
. El archivo de registro indicaría cualquier error en el procesamiento de los trabajos de impresión, así como el nombre de usuario,
Consulte también: Impresoras y spooler de impresoras: comandos lp, lpstat y cancel | Consejos y trucos para el blog de TI