Pipe (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ianezz (discussione | contributi)
Nessun oggetto della modifica
Riga 22:
Il flusso di dati scritto da un processo ('''scrittore''') sul descrittore di file o HANDLE aperto in scrittura viene poi letto (nello stesso ordine) dall'altro processo ('''lettore''') tramite il descrittore di file o HANDLE aperto in lettura. I dati generati dallo scrittore e non ancora letti sono memorizzati dal sistema operativo in un [[buffer]] di dimensioni predeterminate (tipicamente pochi [[KiB]]), dal quale sono automaticamente rimossi dopo essere stati letti.
 
Il buffer viene usato come meccanismo di sincronizzazione lasca tra i due processi: quando si riempie, il processo scrittore viene sospeso nell'operazione di scrittura fino a quando il lettore non ha prelevato una parte dei dati; quando il buffer si svuota il lettore viene sospeso nell'operazione di lettura fino a quando lo scrittore non ha inviato nuovi dati.
 
I due processi che comunicano attraverso una ''pipe'' devono in qualche modo scambiarsi i descrittori di file o HANDLE da usare: