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
lpddemone per pianificare i lavori di stampa.
- Il sistema di spooling SVR4 utilizza
lpschedcome 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 lprprogramma. lprè l'unico programma su un sistema BSD in grado di mettere in coda i file per la stampa.
lpraccetta i dati da stampare, li inserisce in una directory di spooling e avvisa il lpddemone. Per ogni lavoro di stampa, lprcrea 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 lpddaemon controlla il /etc/printcapfile per identificare la stampante di destinazione. Se la stampante di destinazione è un dispositivo locale,
lpdassicurarsi che una copia del lpddaemon sia in esecuzione su quella coda di stampa. Altrimenti lpdapre 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 lpdal 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 lpcomando 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-namee al file di stampa viene assegnato un nome univoco per identificare sia il lavoro che l'utente.
L'accesso alla stampante è controllato dal lpscheddemone. 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