Correzioni latex.
[gapil.git] / prochand.tex
index bddc07a62e9286dbc34a3bf675a9737d8f4e2c28..6beef58d08f7d02e31c9d8896ff3da33bd475a16 100644 (file)
@@ -456,13 +456,15 @@ attende il numero di secondi specificato, e procede nell'esecuzione del ciclo;
 alla conclusione del ciclo, prima di uscire, può essere specificato un altro
 periodo di attesa.
 
 alla conclusione del ciclo, prima di uscire, può essere specificato un altro
 periodo di attesa.
 
-Se eseguiamo il comando senza specificare attese (come si può notare in
-\texttt{\small 17--19} i valori predefiniti specificano di non attendere),
-otterremo come output sul terminale:
+Se eseguiamo il comando\footnote{che è preceduto dall'istruzione \code{export
+    LD\_LIBRARY\_PATH=./} per permettere l'uso delle librerie dinamiche.}
+senza specificare attese (come si può notare in (\texttt{\small 17--19}) i
+valori predefiniti specificano di non attendere), otterremo come output sul
+terminale:
 
 \footnotesize
 \begin{verbatim}
 
 \footnotesize
 \begin{verbatim}
-[piccardi@selidor sources]$ ./forktest 3
+[piccardi@selidor sources]$ export LD_LIBRARY_PATH=./; ./forktest 3
 Process 1963: forking 3 child
 Spawned 1 child, pid 1964 
 Child 1 successfully executing
 Process 1963: forking 3 child
 Spawned 1 child, pid 1964 
 Child 1 successfully executing
@@ -2151,8 +2153,8 @@ La funzione imposta la priorit
 tutti i processi indicati dagli argomenti \param{which} e \param{who}.  La
 gestione dei permessi dipende dalle varie implementazioni; in Linux, secondo
 le specifiche dello standard SUSv3, e come avviene per tutti i sistemi che
 tutti i processi indicati dagli argomenti \param{which} e \param{who}.  La
 gestione dei permessi dipende dalle varie implementazioni; in Linux, secondo
 le specifiche dello standard SUSv3, e come avviene per tutti i sistemi che
-derivano da SYSV, è richiesto che l'user-ID reale o effettivo del processo
-chiamante corrispondano al real user id (e solo quello) del processo di cui si
+derivano da SysV, è richiesto che l'user-ID reale o effettivo del processo
+chiamante corrispondano al real user-ID (e solo quello) del processo di cui si
 vuole cambiare la priorità; per i sistemi derivati da BSD invece (SunOS,
 Ultrix, *BSD) la corrispondenza può essere anche con l'user-ID effettivo.
 
 vuole cambiare la priorità; per i sistemi derivati da BSD invece (SunOS,
 Ultrix, *BSD) la corrispondenza può essere anche con l'user-ID effettivo.
 
@@ -2464,13 +2466,13 @@ condiviso, onde evitare problemi con le ottimizzazioni del codice.
   \textit{deadlock}\index{deadlock}}
 \label{sec:proc_race_cond}
 
   \textit{deadlock}\index{deadlock}}
 \label{sec:proc_race_cond}
 
-Si definiscono \textit{race condition} tutte quelle situazioni in cui processi
-diversi operano su una risorsa comune, ed in cui il risultato viene a
-dipendere dall'ordine in cui essi effettuano le loro operazioni. Il caso
-tipico è quello di un'operazione che viene eseguita da un processo in più
-passi, e può essere compromessa dall'intervento di un altro processo che
-accede alla stessa risorsa quando ancora non tutti i passi sono stati
-completati.
+Si definiscono \textit{race condition}\index{race condition} tutte quelle
+situazioni in cui processi diversi operano su una risorsa comune, ed in cui il
+risultato viene a dipendere dall'ordine in cui essi effettuano le loro
+operazioni. Il caso tipico è quello di un'operazione che viene eseguita da un
+processo in più passi, e può essere compromessa dall'intervento di un altro
+processo che accede alla stessa risorsa quando ancora non tutti i passi sono
+stati completati.
 
 Dato che in un sistema multitasking ogni processo può essere interrotto in
 qualunque momento per farne subentrare un'altro in esecuzione, niente può
 
 Dato che in un sistema multitasking ogni processo può essere interrotto in
 qualunque momento per farne subentrare un'altro in esecuzione, niente può
@@ -2483,22 +2485,22 @@ funzioner
 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 sì che non si verifichino. Casi tipici di
 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 sì che non si verifichino. Casi tipici di
-\textit{race condition} si hanno quando diversi processi accedono allo stesso
-file, o nell'accesso a meccanismi di intercomunicazione come la memoria
-condivisa. In questi casi, se non si dispone della possibilità di eseguire
-atomicamente le operazioni necessarie, occorre che quelle parti di codice in
-cui si compiono le operazioni sulle risorse condivise (le cosiddette
+\textit{race condition}\index{race condition} si hanno quando diversi processi
+accedono allo stesso file, o nell'accesso a meccanismi di intercomunicazione
+come la memoria condivisa. In questi casi, se non si dispone della possibilità
+di eseguire atomicamente le operazioni necessarie, occorre che quelle parti di
+codice in cui si compiono le operazioni sulle risorse condivise (le cosiddette
 \textsl{sezioni critiche}\index{sezioni critiche}) del programma, siano
 opportunamente protette da meccanismi di sincronizzazione (torneremo su queste
 problematiche di questo tipo in \capref{cha:IPC}).
 
 \textsl{sezioni critiche}\index{sezioni critiche}) del programma, siano
 opportunamente protette da meccanismi di sincronizzazione (torneremo su queste
 problematiche di questo tipo in \capref{cha:IPC}).
 
-Un caso particolare di \textit{race condition} sono poi i cosiddetti
-\textit{deadlock}\index{deadlock}, particolarmente gravi in quanto comportano
-spesso il blocco completo di un servizio, e non il fallimento di una singola
-operazione. Per definizione un \textit{deadlock}\index{deadlock} è una
-situazione in cui due o più processi non sono più in grado di proseguire
-perché ciascuno aspetta il risultato di una operazione che dovrebbe essere
-eseguita dall'altro.
+Un caso particolare di \textit{race condition}\index{race condition} sono poi
+i cosiddetti \textit{deadlock}\index{deadlock}, particolarmente gravi in
+quanto comportano spesso il blocco completo di un servizio, e non il
+fallimento di una singola operazione. Per definizione un
+\textit{deadlock}\index{deadlock} è una situazione in cui due o più processi
+non sono più in grado di proseguire perché ciascuno aspetta il risultato di
+una operazione che dovrebbe essere eseguita dall'altro.
 
 
 L'esempio tipico di una situazione che può condurre ad un
 
 
 L'esempio tipico di una situazione che può condurre ad un