Pipeline (software): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
generalizzazione del concetto
Ines (discussione | contributi)
mNessun oggetto della modifica
Riga 1:
In [[informatica]], il concetto di '''pipeline''' (in inglese, tubatura -composta da più elementi collegati-, condotto) viene utilizzato indicare un insieme di [[componente software|componenti software]] tra loro collegati a [[cascata]] in modo che il risultato prodotto da uno degli elementi sia l'ingresso di quello immediatamente successivo. Le pipeline più semplici prevedono una semplice linea di componenti, mentre quelle più complesse possono prevedere "biforcazioni" (''[[muxer|muxers]]'' -elementi con più ingressi- o ''[[demuxer|demuxers]]'' -elementi con più uscite-).
Una pipeline inizia con uno o più elementi ''[[source]]'' (che non hanno ingressi, ma solo uscite), i cui dati fluiscono attraverso tutti gli altri elementi intermedi (''muxers'', ''demuxers'', filtri -che manipolano questo flusso di dati- e convertitori -che modificano il formato del flusso di dati-) fino agli elementi ''[[sink]]'' (che non hanno uscite ma solo ingressi).
 
L'accezione più comune della parola pipeline indica un comando di ''[[shell]]'' complesso, in cui un programma ''source'' genera un flusso di dati testuali che si propagano attraverso le ''[[pipe#Funzione pipe nella Shell|pipe]]'' ("|") tramite una sequenza di [[Filtro (Unix)|filtri]], fino ai ''sink'' (che spesso sono [[file]], o il [[terminale (informatica)|terminale]]). Questi programmi sono collegati tra loro tramite l'operatore pipe, che in una riga di comando sigificasignifica che lo standard output del programma a sinistra dell'operatore è passato allo standard input del programma alla sua destra.
 
A livello utente si incontra nell'uso della ''shell'', dove è spesso conveniente riutilizzare i dati uscenti di un programma come input di un altro, ad esempio per applicare dei [[Filtro (Unix)|filtri]] o per visualizzare e manipolare i risultati in un programma interattivo.
 
In molti sistemi, come i discendenti del [[MS-DOS|Microsoft DOS]] e di [[Unix]], l'operazione via ''shell'' è gestita anteponendo fra i programmi una barra verticale ("|").
 
== Pipeline in ambienti [[Unix]] ==