realtà (come mostrato in \figref{fig:proc_exec_relat}), costituiscono un
front-end a \func{execve}. Il prototipo di quest'ultima è:
\begin{prototype}{unistd.h}
-{int execve(const char * filename, char * const argv [], char * const envp[])}
+{int execve(const char *filename, char *const argv[], char *const envp[])}
Esegue il programma contenuto nel file \param{filename}.
\bodydesc{La funzione ritorna -1 solo in caso di errore, nel qual caso
difficili da tracciare, in quanto nella maggior parte dei casi tutto
funzionerà regolarmente, e solo occasionalmente si avranno degli errori.
-Per questo occorre essere ben consapovoli di queste problematiche, e del fatto
+Per questo occorre essere ben consapevoli di queste problematiche, e del fatto
che l'unico modo per evitarle è quello di riconoscerle come tali e prendere
gli adeguati provvedimenti per far si che non si verifichino. Casi tipici di
\textit{race condition} si hanno quando diversi processi accedono allo stesso
L'esempio tipico di una situazione che può condurre ad un \textit{deadlock} è
quello in cui un flag di ``occupazione'' viene rilasciato da un evento
asincrono (come un segnale o un altro processo) fra il momento in cui lo si è
-controllato (trovadolo occupato) e la successiva operazione di attesa per lo
+controllato (trovandolo occupato) e la successiva operazione di attesa per lo
sblocco. In questo caso, dato che l'evento di sblocco del flag è avvenuto
senza che ce ne accorgessimo proprio fra il controllo e la messa in attesa,
quest'ultima diventerà perpetua (da cui il nome di \textit{deadlock}).