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