Innanzitutto, cominciamo con il significato del termine "spooling": a volte la dimensione di un documento è maggiore della memoria della stampante, quindi lo "spooling della stampante" consente l'invio di più documenti a una stampante e l'inserimento di tutti questi documenti in coda.
Ora, sotto Unix ci sono due sistemi di stampa:
- Il sistema di spooling BSD utilizza un
lpd
demone per pianificare i lavori di stampa.
- Il sistema di spooling SVR4 utilizza
lpsched
come scheduler.
USAIL di Jeff Lessem : l'apprendimento indipendente dall'amministrazione di sistemi Unix ha una sezione sulla stampa sotto Unix che offre una buona panoramica dei sistemi BSD e SVR4:
Il sistema di spooling BSD
si estende bene a reti grandi ed eterogenee consentendo a molti computer di condividere stampanti.
Nel sistema di spooling BSD, l'accesso alle stampanti è controllato dal lpd
demone e dal lpr
programma. lpr
è l'unico programma su un sistema BSD in grado di mettere in coda i file per la stampa.
lpr
accetta i dati da stampare, li inserisce in una directory di spooling e avvisa il lpd
demone. Per ogni lavoro di stampa, lpr
crea due file, un file di controllo (cfxxx) e un file di dati (dfxxx) nella directory di spool, xxx che indica un ID lavoro univoco. Il file di controllo contiene le informazioni per la gestione del lavoro di stampa, inclusa l'identità del proprietario. Il file di dati contiene i dati effettivi da stampare.
Il lpd
daemon controlla il /etc/printcap
file per identificare la stampante di destinazione. Se la stampante di destinazione è un dispositivo locale,
lpd
assicurarsi che una copia del lpd
daemon sia in esecuzione su quella coda di stampa. Altrimenti lpd
apre una connessione all'host remoto a cui è connessa la stampante e trasferisce sia il file di controllo che i file di dati.
I lavori di stampa sono programmati in base lpd
al principio First-In, First-Out (FIFO). Tuttavia, l'amministratore di sistema può utilizzare il comando lpc per modificare la priorità dei lavori nella coda di stampa.
Il sistema di spooling SVR4 è utilizzato da Solaris e HP-UX. Offre maggiore controllo e flessibilità, ma non è stato progettato per la stampa in rete ed è più complicato da configurare.
Nel sistema di spooling SVR4, il lp
comando accetta i dati da stampare, ne crea una copia nella directory di spool associata alla destinazione. La destinazione è costituita da un nome stampante e da una specifica facoltativa di una classe a cui appartiene la stampante. Quando la stampante specificata è occupata, il lavoro viene inviato a un'altra stampante della stessa classe. La directory di spooling è normalmente /var/spool/lp/request/printer-name
e al file di stampa viene assegnato un nome univoco per identificare sia il lavoro che l'utente.
L'accesso alla stampante è controllato dal lpsched
demone. Preleva i lavori dalla directory di spool e li invia alla destinazione appropriata quando diventa disponibile. lpsched mantiene anche un registro, di solito in /usr/spool/lp/log
. Il file di registro indicherebbe qualsiasi errore nell'elaborazione dei lavori di stampa, nonché il nome utente,
Vedi anche: Stampanti e spooler di stampa - comandi lp, lpstat e cancel | Suggerimenti e trucchi per il blog IT