Nell'esercitazione del 26/10, abbiamo visto in pratica come creare, distruggere e interagire con processi e thread. In particolare, abbiamo visto:
Creazione di nuovi processi (fork
)
Sostituzione del programma in esecuzione con uno diverso (execve
e sue varianti)
Attesa per la terminazione del processo figlio (wait
)
Uso dei segnali, in particolare SIGCHLD e SIGUSR1/SIGUSR2, e l'installazione dei gestori (handler) attraverso la funzione sigaction
Creazione e gestione dei thread POSIX (pthread_create
, pthread_join
, pthread_setdetachstate
, etc.)
Definizione e uso di mutex e condition variable nei thread POSIX
Definizione e uso di risorse private nei thread POSIX