Pipeline (software): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m r2.6.5) (Bot: Modifico: uk:Конвеєр (Unix) |
m v2.05 - Fixed using WP:WPCleaner (Wikilink uguali alla propria descrizione) |
||
(23 versioni intermedie di 20 utenti non mostrate) | |||
Riga 1:
{{F|sistema operativo|febbraio 2013}}
[[
In [[informatica]], il concetto di '''pipeline''' (in [[lingua inglese|inglese]],
Una ''pipeline'' inizia con uno o più elementi ''sorgenti'' (che non hanno ingressi, ma solo uscite), i cui dati fluiscono attraverso tutti gli altri elementi intermedi (''[[multiplexer]]'', ''[[demultiplexer]]'', filtri — che manipolano questo flusso di dati — e convertitori — che modificano il formato del flusso di dati) fino agli elementi ''destinatari'' (che non hanno uscite ma solo ingressi).▼
== Descrizione ==
L'accezione più comune della parola ''pipeline'' indica un comando di ''[[Shell (informatica)|shell]]'' composito, in cui un programma ''sorgente'' 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 ''destinatari'' (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 significa che lo ''[[standard output]]'' del programma a sinistra dell'operatore va passato allo ''[[standard input]]'' del programma alla sua destra.▼
Le ''pipeline'' più semplici prevedono una semplice linea di componenti, mentre quelle più complesse possono prevedere "biforcazioni" ([[multiplexer]] — elementi con più ingressi — o [[demultiplexer]] — elementi con più uscite).
▲Una ''pipeline'' inizia con uno o più elementi ''sorgenti'' (che non hanno ingressi, ma solo uscite), i cui dati fluiscono attraverso tutti gli altri elementi intermedi (
▲L'accezione più comune della parola ''pipeline'' indica un comando di
A livello utente si incontra nell'uso della ''shell'', dove è spesso conveniente riutilizzare i dati uscenti di un programma come dati in ingresso a 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
==
=== Esempi ===
Nei seguenti esempi di riga di comando lo ''standard output''
Un altro esempio di ''pipeline'', che visualizza sul terminale i numeri da 1 a 13:
<syntaxhighlight lang="bash">
</syntaxhighlight>
Spesso i filtri costituiscono gli elementi successivi al primo in una ''pipeline''.
Riga 25:
=== Inizio della ''pipeline'' ===
Programmi che vengono spesso utilizzati per creare il flusso di dati da inviare ad una ''pipeline'':
* <code>[[Find (Unix)|find]]</code> (individua i file con certe caratteristiche)
* <code>[[Cat (Unix)|cat]]</code> (legge un file o un dispositivo)
* <code>[[tail]] -f</code> (legge le righe che vengono aggiunte ad un file)
=== Fine della ''pipeline'' ===
Una ''pipeline'' può terminare nei modi che seguono:
* scrivendo il risultato sul terminale;
* effettuando la [[redirezione]] dei dati su
* con un ''pager'' come ad esempio ''[[More (Unix)|more]]'' o ''[[Less (Unix)|less]]'', che permettono di leggere un file o un flusso di dati una pagina alla volta;
* con ''[[xargs]]'', che trasforma un flusso di dati in parametri sulla riga di comando.
Riga 38:
== Voci correlate ==
* [[Filtro (Unix)]]
* [[Pipe (informatica)]]
* [[Shell (informatica)]]
== Collegamenti esterni ==
[[Categoria:Kernel]]▼
* {{FOLDOC|pipe|pipe}}
{{Portale|informatica}}
▲[[Categoria:Kernel]]
|