Primeiro, vamos começar com o significado do termo "spool": às vezes o tamanho de um documento é maior que a memória da impressora, portanto, "spooling de impressora" permite o envio de vários documentos para uma impressora e a colocação de todos esses documentos em uma fila.
Agora, no Unix, existem dois sistemas de impressão:
- O sistema de spool do BSD usa
lpd
daemon para agendar os trabalhos de impressão.
- O sistema de spool SVR4 usa
lpsched
como agendador.
O USAIL de Jeff Lessem : o aprendizado independente da administração do sistema Unix possui uma seção sobre Impressão no Unix, que fornece uma boa visão geral dos sistemas BSD e SVR4:
O sistema de spool do BSD
estende-se bem a redes grandes e heterogêneas, permitindo que muitos computadores compartilhem impressoras.
Sob o sistema de spooling BSD, o acesso às impressoras é controlado pelo lpd
daemon e pelo lpr
programa. lpr
é o único programa em um sistema BSD que pode enfileirar arquivos para impressão.
lpr
aceita dados a serem impressos, coloca-os em um diretório de spool e notifica o lpd
daemon. Para cada trabalho de impressão, lpr
cria dois arquivos, um arquivo de controle (cfxxx) e um arquivo de dados (dfxxx) no diretório de spool, xxx indicando um ID de trabalho exclusivo. O arquivo de controle contém as informações para lidar com o trabalho de impressão, incluindo a identidade do proprietário. O arquivo de dados contém os dados reais a serem impressos.
O lpd
daemon verifica o /etc/printcap
arquivo para identificar a impressora de destino. Se a impressora de destino for um dispositivo local,
lpd
verifique se uma cópia do lpd
daemon está sendo executada nessa fila de impressão. Caso contrário, lpd
abre uma conexão com o host remoto ao qual a impressora está conectada e transfere o arquivo de controle e dados para ele.
Os trabalhos de impressão são agendados com base lpd
no primeiro a entrar, primeiro a sair (FIFO). No entanto, o administrador do sistema pode usar o comando lpc para alterar a prioridade dos trabalhos na fila de impressão.
O sistema de spool SVR4 é usado pelo Solaris e HP-UX. Oferece mais controle e flexibilidade, mas não foi projetado para impressão em rede e é mais complicado de configurar.
No sistema de spool SVR4, o lp
comando aceita os dados a serem impressos, faz uma cópia deles no diretório de spool associado ao destino. O destino consiste em um nome de impressora e uma especificação opcional de uma classe à qual a impressora pertence. Quando a impressora especificada está ocupada, o trabalho é enviado para outra impressora da mesma classe. O diretório de spool é normalmente /var/spool/lp/request/printer-name
e o arquivo de impressão recebe um nome exclusivo para identificar o trabalho e o usuário.
O acesso à impressora é controlado pelo lpsched
daemon. Ele pega os trabalhos no diretório de spool e os envia para o destino apropriado quando eles ficam disponíveis. O lpsched também mantém um log, geralmente dentro /usr/spool/lp/log
. O arquivo de log indicaria qualquer erro no processamento dos trabalhos de impressão, assim como o nome de usuário,
Consulte também: Impressoras e spooler de impressora - comandos lp, lpstat e cancel | Dicas e truques para o blog de TI