Common Unix Printing System: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Guam (discussione | contributi)
m revisione
Guam (discussione | contributi)
Aggiunta sezioni e interwiki
Riga 6:
CUPS si basa sull'[[Internet printing protocol]] (IPP) per gestire l'invio dei dati e le code di stampa. Dispone di [[interfaccia a linea di comando]] simile a quella del [[System V]] e del [[Berkeley printing system]], oltre ad un limitato supporto per il protocollo [[Server message block]] (SMB). L'interfacciamento con i driver si basa sul formato [[PostScript printer description]] (PPD).
 
La gestione e configurazione di CUPS può essere effettuata con una delle molteplici [[Interfaccia grafica|interfacce grafiche]] disponibili per le diverse piattaforme software oppure attraverso l'interfaccia [[web]] integrata.
 
==Dettaglio del funzionamento==
Il meccanismo di funzionamento di CUPS è elegante e lineare. I dati sono inviati ad uno scheduler, che li manda a sua volta al filtro, il quale li converte in un formato adatto alla stampante. Il sistema di filtraggio passa i dati così preparati ad un'[[interfaccia]] (backend) che invia i dati direttamente alla stampante locale oppure su una connessione di rete.<br />
Il processo di filtraggio utilizza il linguaggio PostScript come linguaggio intermedio tra il dato originale da stampare ed il formato inviato alla stampante.
 
Il principale vantaggio di CUPS è di essere un sistema modulare e [[standard]], in grado quindi di operare con numerosi formati di dati e interfacciarsi con i numerosi modelli di stampanti presenti sul mercato, ciascuna in grado di accettare un formato o un linguaggio specifico.
 
Per confronto i sistemi di stampa del System V o il Berkeley printing systems sono incompatibili tra loro e richiedono un a elaborata configurazione per gestire diversi formati di dati e stampanti. In genere non sono in grado di riconoscere accuratamente il formato dei dati ricevuti eseguendo la conversione in modo errato. Un altro limite è che la conversione può avvenire solo sul computer client e non sul server.
 
Con CUPS è molto più facile sviluppare driver in grado di funzionare nativamente sul print server Unix. una volta effettuata la conversione la stampa può essere facilmente inviata attraverso gli altri sistemi di stampa Unix. Inoltre grazie al protocollo [[samba]] il servizio di stampa è accessibile anche da sistemi [[Windows]].
 
===Lo scheduler===
Lo scheduler ha il compito di gestire i lavori in stampa, la priorità nella coda (l'ordine con cui sono inviati alla periferica), la loro eventuale cancellazione ecc.<br />
Per questo scopo utilizza il protocollo Internet Printing Protocol (IPP), a sua volta basato sull'[[HTTP]]. Lo scheduler accetta le richieste in formato HTTP/1.1 e fornisce una interfaccia web per la gestione e la configurazione del server, oltre che per fornire documentazione sul suo uso.
 
Lo scheduler include un ''modulo di autorizzazione'' che controlla l'accesso dei messaggi IPP e HTTP, che una volta autorizzati sono inviati al modulo client, che soddisfa le richieste. Questo modulo esegue anche i processi [[CGI]] esterni necessari per le funzioni dell'interfaccia web. I messaggi di risposta sono reinviati al modulo di IPP che li sottopone alla validazione dell'[[URL]], per prevenire tentativi di aggiramento dell'autenticazione.<br />
L'autorizzazione degli utenti è organizzata per stampante e per classe. Una classe è un raggruppamento di diverse stampanti su cui lo scheduler invia la stampa autorizzata in arrivo alla prima periferica libera. Un modulo di lavoro (job module) gestisce la coda di ogni stampante ed invia i dati ai filtri e ai backend, gestendo inoltre i messaggi restituiti da questi.
 
Nello scheduler è compreso un ''modulo di configurazione'' che attinge al file di configurazione di CUPS all'avvio del sistema.
 
Un altro modulo (''logging module'') si occupa di registrare (loggare) tutti gli eventi di sistema, accessi, errori, lavori.
 
Il modulo principale dello scheduler si occupa di gestire le comunicazioni con i client e coordinare i diversi moduli descritti.
 
Altri moduli utilizzati sono il ''modulo MIME'' che gestisce i tipi [[MIME]] e il database utilizzato dai filtri per la conversione dei dati. Un ''modulo PPD'' che gestisce la lista dei file con i dati Postscript Printer Description, un modulo che mantiene una lista delle periferiche disponibili e moduli che gestiscono le singole stampanti.
 
 
===Il filtro===
Il cuore di CUPS è la capacità di convertire i molteplici formati di dati in entrata nei formati adatti alle diverse stampanti.<br />
Questa operazione viene fatta sul server attraverso una serie di passaggi intermedi. Il riconoscimento dei dati ricevuti è effettuato utilizzando il sistema dei tipi MIME ([[Multipart Internet Mail Extensions]]). Questo è uno standard usato su Internet per la composizione delle [[e-mail]] ma è comunemente impiegato per determinare la natura di un file.
 
====Il database MIME====
 
 
====Il processo di filtraggio====
 
 
===I backend===
I backend sono le interfacce finali che inviano i dati alle singole stampanti. Diversi tipi di interfacce sono gestite da CUPS: porta parallela, porta [[seriale]], [[USB]], sistemi di rete IPP, [[JetDirect]], protocolli LPD e SMB.
 
==Collegamenti esterni==
*[http://www.cups.org Il sito ufficiale di CUPS]
 
 
Line 12 ⟶ 54:
[[Categoria:Unix]]
[[Categoria:Linux]]
 
 
 
[[de:CUPS]]
[[en:Common Unix Printing System]]
[[pl:CUPS]]