====== Processi, Thread e procfs ====== 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