X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=prochand.tex;h=0cda60653a9ca67f273b9099e7a4ec71bbbdab67;hp=f5decd7429d5e028e978b0980fef1d5961f26f57;hb=e20a546af590a50e7ac47f68f6c7d4648bb4f31a;hpb=b6d559b9429afcc0d64137913e8f16d49857a6c9 diff --git a/prochand.tex b/prochand.tex index f5decd7..0cda606 100644 --- a/prochand.tex +++ b/prochand.tex @@ -196,7 +196,7 @@ ottenuti da programma usando le funzioni: Entrambe le funzioni non riportano condizioni di errore. \end{functions} -esempi dell'uso di queste funzioni sono riportati in +\noindent esempi dell'uso di queste funzioni sono riportati in \figref{fig:proc_fork_code}, nel programma di esempio \file{ForkTest.c}. Il fatto che il \acr{pid} sia un numero univoco per il sistema lo rende il @@ -1135,7 +1135,7 @@ indicato dal parametro \var{path}, che viene interpretato come il \begin{figure}[htb] \centering - \includegraphics[width=13cm]{img/exec_rel.eps} + \includegraphics[width=13cm]{img/exec_rel} \caption{La interrelazione fra le sei funzioni della famiglia \func{exec}} \label{fig:proc_exec_relat} \end{figure} @@ -1690,11 +1690,11 @@ non possono essere interrotte (o subire interferenze pericolose) da altri processi. Nel caso dei segnali invece la situazione è molto più delicata, in quanto lo -stesso processo può essere interrotto in qualunque momento, e le operazioni di -un eventuale \textit{signal handler} saranno compiute nello stesso spazio di -indirizzi. Per questo anche solo il solo accesso o l'assegnazione di una -variabile possono non essere più operazioni atomiche (torneremo su questi -aspetti in \secref{sec:sign_xxx}). +stesso processo, e pure alcune system call, possono essere interrotti in +qualunque momento, e le operazioni di un eventuale \textit{signal handler} +sono compiute nello stesso spazio di indirizzi del processo. Per questo anche +solo il solo accesso o l'assegnazione di una variabile possono non essere più +operazioni atomiche (torneremo su questi aspetti in \secref{sec:sign_xxx}). In questo caso il sistema provvede un tipo di dato, il \type{sig\_atomic\_t}, il cui accesso è assicurato essere atomico. In pratica comunque si può @@ -1728,9 +1728,9 @@ condivise siano opportunamente protette da meccanismi di sincronizzazione Un caso particolare di \textit{race condition} sono poi i cosiddetti \textit{deadlock}; l'esempio tipico è quello di un flag di ``occupazione'' che viene rilasciato da un evento asincrono fra il controllo (in cui viene trovato -occupato) e la successiva messa in attesa, attesa che a questo punto diventerà +occupato) e la successiva messa in attesa, che a questo punto diventerà perpetua (da cui il nome di \textit{deadlock}) in quanto l'evento di sblocco -di questa è stato perso. +del flag è stato perso fra il controllo e la messa in attesa. \subsection{Le funzioni rientranti}