Questa è una vecchia versione del documento!
Indice
Esercizi Pipe/Socket
Esercizio 1: Ampiezza della pipe
Utilizzare la funzione fpathconf
come nell'esempio visto a lezione per stabilire l'ampiezza minima garantita POSIX di una pipe e la sua ampiezza reale.
Esercizio 2: read() e write() bloccanti e sincronizzazione su pipe
Utilizzando le pipe senza nome, realizzare un programma C in cui il processo padre legge da standard input un intero, poi attende 5 secondi mentre figlio si blocca in attesa di una comunicazione da parte del padre, stampa il messaggio ricevuto e termina.
Modificare il programma in modo che il padre attenda 5 secondi effettui N write() di 1024 byte tutti contenenti il carattere 'r' sulla pipe mentre il figlio appena attivato attende 500 secondi prima di effettuare la read(). Per quale valore di N il padre si blocca ?
Cosa succede al padre nel programma precedente se il figlio termina immediatamente dopo essere stato avviato senza fare la read?