Mark escreveu um comentário para mim
Não sei como fazer com que os copos não sejam spool, ou seja, como fazer com que o comando lpr só saia depois que o driver da impressora for executado.
O que significa "carretel" para impressão?
O Google diz que é um verbo que significa "enviar (dados destinados à impressão ou processamento em um dispositivo periférico) para uma loja intermediária". Qual é o armazenamento intermediário que o carretel de impressão representa, por exemplo, ao imprimir por lpr
comando
Mark parece relacionar o significado de carretel com bloqueio. Mas não consigo descobrir isso olhando para a definição dada pelo Google.
Obrigado.
Em poucas palavras, um spooler consiste em:
No seu caso, o programa em primeiro plano (
lpr
) envia seus trabalhos de impressão para ocups
, que o armazena e então usa comunicação serial, paralela, USB, rede, ... para realmente iniciar o processo de impressão.Então é por isso que hoje em dia , mesmo quando a impressora fica sem papel, você ainda pode continuar usando seu computador, enquanto quando eu era criança no CP/M, o computador todo travava até você adicionar mais papel...
Por que é chamado de "spool"?
Porque naquela época, grandes computadores usavam fita para armazenar esse tipo de arquivo, pois os discos eram muito caros, então quando você estava trabalhando dentro do data center da
sala de máquinas, a primeira coisa que você ouvia eram as fitas começando a girar¹ e só depois de um segundo ou 3-4 a impressora começaria a imprimir (se você tivesse sorte). ;-)Nota 1: Um "carretel" é um substantivo que significa "um dispositivo cilíndrico no qual a fita magnética pode ser enrolada", portanto "spooling" é o dispositivo cilíndrico girando e enrolando a fita...
Um spool de impressão é efetivamente um buffer, gerenciado por trabalho, com um programa (o spooler) responsável por receber os trabalhos dos programas enviados e alimentá-los para uma ou mais impressoras. O objetivo de um spool é lidar com a comunicação entre dois sistemas com velocidades diferentes e controlar o acesso a dispositivos compartilhados. O primeiro significa que os programas podem enviar trabalhos de impressão tão rápido quanto quiserem, e esses trabalhos são tratados tão rápido (ou lentamente) quanto as impressoras podem manipular. O último (como apontado por RonJohn ) garante que os trabalhos sejam tratados de forma coerente: assim, ao imprimir, os trabalhos não são misturados.
As impressoras em rede fornecem seus próprios spools e os servidores de impressão (CUPS,
lpd
etc.) também implementam spools. A maioria dos sistemas de impressão também lida com controle de acesso, cotas, banners, opções de impressão etc. Os spools são usados em outros contextos; por exemplo, os servidores de backup baseados em fita agora armazenam dados de backup de hosts em rede em um sistema de armazenamento rápido baseado em disco, para que possam alimentar unidades de fita modernas nas velocidades tremendas necessárias para evitar o desgaste da fita.No contexto do comentário, a relevância de um spool é que ele descorrelaciona o envio do trabalho de impressão de seu cumprimento. Não colocar em spool significaria que o envio só seria concluído com o trabalho de impressão e, portanto, seu
lpr
comando só seria concluído quando o trabalho fosse concluído. A remoção do spool do seu computador pode não ter o resultado desejado, pois a própria impressora também pode spool!Primeiro, vamos começar com o significado do termo “spooling”: às vezes o tamanho de um documento é maior que a memória da impressora, então o “spooling da impressora” permite enviar vários documentos para uma impressora e colocar todos esses documentos em uma fila.
Agora, no Unix, existem dois sistemas de impressão:
lpd
o daemon para agendar os trabalhos de impressão.lpsched
como agendador.O USAIL de Jeff Lessem : aprendizado independente de administração de sistemas Unix tem uma seção sobre Impressão em Unix que fornece uma boa visão geral dos sistemas BSD e SVR4:
O sistema de spool BSD
O sistema de spooling 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.
Consulte também: Impressoras e spooler de impressora – comandos lp, lpstat e cancel | Dicas e truques para o blog de TI
Nunca esqueça que SPOOL é um acrônimo para Operações Periféricas Simultâneas On Line . Desde os primeiros (mas não os primeiros) dias da computação, os processadores geravam resultados mais rapidamente do que as impressoras podiam imprimi-los. Sem o spool, o processador não poderia concluir um "trabalho de impressão" até que a impressão em si fosse concluída. Isso geralmente resultava em um processador ocioso, esperando pela impressora.
Um grande salto no spooling ocorreu durante o programa espacial americano. Os computadores estavam produzindo resultados muito lentamente, então um novo sistema de spool foi escrito apenas para a NASA (embora ele e seus sucessores tenham ganhado popularidade até que todos os sistemas IBM os tivessem). Foi chamado de H ouston Automatic S pooling P rogram , tornando HASP o primeiro acrônimo aninhado.
Uma boa analogia com o spooling é uma fábrica de fios - o fio é girado em uma taxa rápida e armazenado - onde mais - em um carretel. Em seguida, o carretel de linha é eventualmente colocado em uma máquina de costura ou outra, que funciona a um ritmo muito mais lento, onde é usado para criar um produto acabado.
Spooling é um termo bastante antigo. Hoje em dia você verá "Fila de impressão" usada com mais frequência.
To Queue é um ditado britânico para "esperar na fila". Assim, os trabalhos de impressão são "enfileirados", ou seja, aguardando na fila para imprimir.
Depois que um trabalho termina o spool (pode haver longos tempos de "pensamento" entre as linhas de impressão), ele é impresso, geralmente em uma base FIFO, mas a prioridade do trabalho de impressão pode substituí-lo.
Os carretéis e filas de impressão podem ser pausados para que os operadores troquem o papel. O também pode ser reiniciado se algumas páginas estiverem danificadas.