Correzioni varie
[gapil.git] / prochand.tex
index d2b4391dcdbb637decd39a3e7eeb40a153d5f560..5c6a408dbc9500f8631e116b82753e2f3c8e5f71 100644 (file)
@@ -136,7 +136,7 @@ che è progenitore di tutti gli altri processi.\footnote{in realtà questo non 
 Il kernel mantiene una tabella dei processi attivi, la cosiddetta
 \itindex{process~table} \textit{process table}. Per ciascun processo viene
 mantenuta una voce in questa tabella, costituita da una struttura
 Il kernel mantiene una tabella dei processi attivi, la cosiddetta
 \itindex{process~table} \textit{process table}. Per ciascun processo viene
 mantenuta una voce in questa tabella, costituita da una struttura
-\struct{task\_struct}, che contiene tutte le informazioni rilevanti per quel
+\kstruct{task\_struct}, che contiene tutte le informazioni rilevanti per quel
 processo. Tutte le strutture usate a questo scopo sono dichiarate
 nell'\textit{header file} \file{linux/sched.h}, ed uno schema semplificato,
 che riporta la struttura delle principali informazioni contenute nella
 processo. Tutte le strutture usate a questo scopo sono dichiarate
 nell'\textit{header file} \file{linux/sched.h}, ed uno schema semplificato,
 che riporta la struttura delle principali informazioni contenute nella
@@ -208,7 +208,7 @@ riparte dal numero più basso disponibile a partire da un minimo di
   kernel, con il 2.6.x e la nuova interfaccia per i \itindex{thread}
   \textit{thread} anche il meccanismo di allocazione dei \acr{pid} è stato
   modificato ed il valore massimo è impostabile attraverso il file
   kernel, con il 2.6.x e la nuova interfaccia per i \itindex{thread}
   \textit{thread} anche il meccanismo di allocazione dei \acr{pid} è stato
   modificato ed il valore massimo è impostabile attraverso il file
-  \procfile{/proc/sys/kernel/pid\_max} e di default vale 32768.} che serve a
+  \sysctlfile{kernel/pid\_max} e di default vale 32768.} che serve a
 riservare i \acr{pid} più bassi ai processi eseguiti direttamente dal kernel.
 Per questo motivo, come visto in sez.~\ref{sec:proc_hierarchy}, il processo di
 avvio (\cmd{init}) ha sempre il \acr{pid} uguale a uno.
 riservare i \acr{pid} più bassi ai processi eseguiti direttamente dal kernel.
 Per questo motivo, come visto in sez.~\ref{sec:proc_hierarchy}, il processo di
 avvio (\cmd{init}) ha sempre il \acr{pid} uguale a uno.
@@ -697,9 +697,9 @@ di vista di come il sistema gestisce la conclusione dei processi.
 
 Abbiamo visto in sez.~\ref{sec:proc_conclusion} le tre modalità con cui un
 programma viene terminato in maniera normale: la chiamata di \func{exit}, che
 
 Abbiamo visto in sez.~\ref{sec:proc_conclusion} le tre modalità con cui un
 programma viene terminato in maniera normale: la chiamata di \func{exit}, che
-esegue le funzioni registrate per l'uscita e chiude i \textit{file stream} e
-poi esegue \func{\_exit}, il ritorno dalla funzione \func{main} equivalente
-alla chiamata di \func{exit}, e la chiamata diretta a \func{\_exit}, che passa
+esegue le funzioni registrate per l'uscita e chiude gli \textit{stream} e poi
+esegue \func{\_exit}, il ritorno dalla funzione \func{main} equivalente alla
+chiamata di \func{exit}, e la chiamata diretta a \func{\_exit}, che passa
 direttamente alle operazioni di terminazione del processo da parte del kernel.
 
 Ma abbiamo accennato che oltre alla conclusione normale esistono anche delle
 direttamente alle operazioni di terminazione del processo da parte del kernel.
 
 Ma abbiamo accennato che oltre alla conclusione normale esistono anche delle
@@ -1137,38 +1137,43 @@ anomala), uno per indicare se è stato generato un \itindex{core~dump}
     \textbf{Macro} & \textbf{Descrizione}\\
     \hline
     \hline
     \textbf{Macro} & \textbf{Descrizione}\\
     \hline
     \hline
-    \macro{WIFEXITED(s)}   & Condizione vera (valore non nullo) per un processo
-                             figlio che sia terminato normalmente. \\
-    \macro{WEXITSTATUS(s)} & Restituisce gli otto bit meno significativi dello
-                             stato di uscita del processo (passato attraverso
-                             \func{\_exit}, \func{exit} o come valore di
-                             ritorno di \func{main}); può essere valutata solo
-                             se \val{WIFEXITED} ha restituito un valore non
-                             nullo.\\ 
-    \macro{WIFSIGNALED(s)} & Condizione vera se il processo figlio è terminato
-                             in maniera anomala a causa di un segnale che non
-                             è stato catturato (vedi
-                             sez.~\ref{sec:sig_notification}).\\ 
-    \macro{WTERMSIG(s)}    & Restituisce il numero del segnale che ha causato
-                             la terminazione anomala del processo; può essere
-                             valutata solo se \val{WIFSIGNALED} ha restituito
-                             un valore non nullo.\\ 
-    \macro{WCOREDUMP(s)}   & Vera se il processo terminato ha generato un
-                             file di \itindex{core~dump} \textit{core
-                               dump}; può essere valutata solo se
-                             \val{WIFSIGNALED} ha restituito un valore non
-                             nullo.\footnotemark \\
-    \macro{WIFSTOPPED(s)}  & Vera se il processo che ha causato il ritorno di
-                             \func{waitpid} è bloccato; l'uso è possibile solo
-                             con \func{waitpid} avendo specificato l'opzione
-                             \const{WUNTRACED}.\\
-    \macro{WSTOPSIG(s)}    & Restituisce il numero del segnale che ha bloccato
-                             il processo; può essere valutata solo se
-                             \val{WIFSTOPPED} ha restituito un valore non
-                             nullo. \\ 
-    \macro{WIFCONTINUED(s)}& Vera se il processo che ha causato il ritorno è
-                             stato riavviato da un \signal{SIGCONT}
-                             (disponibile solo a partire dal kernel 2.6.10).\\
+    \macro{WIFEXITED}\texttt{(s)}   & Condizione vera (valore non nullo) per
+                                      un processo figlio che sia terminato
+                                      normalmente. \\ 
+    \macro{WEXITSTATUS}\texttt{(s)} & Restituisce gli otto bit meno
+                                      significativi dello stato di uscita del
+                                      processo (passato attraverso
+                                      \func{\_exit}, \func{exit} o come valore
+                                      di ritorno di \func{main}); può essere
+                                      valutata solo se \val{WIFEXITED} ha
+                                      restituito un valore non nullo.\\ 
+    \macro{WIFSIGNALED}\texttt{(s)} & Condizione vera se il processo figlio è
+                                      terminato in maniera anomala a causa di
+                                      un segnale che non è stato catturato
+                                      (vedi sez.~\ref{sec:sig_notification}).\\ 
+    \macro{WTERMSIG}\texttt{(s)}    & Restituisce il numero del segnale che ha
+                                      causato la terminazione anomala del
+                                      processo; può essere valutata solo se
+                                      \val{WIFSIGNALED} ha restituito un
+                                      valore non nullo.\\
+    \macro{WCOREDUMP}\texttt{(s)}   & Vera se il processo terminato ha
+                                      generato un file di \itindex{core~dump}
+                                      \textit{core dump}; può essere valutata
+                                      solo se \val{WIFSIGNALED} ha restituito
+                                      un valore non nullo.\footnotemark \\
+    \macro{WIFSTOPPED}\texttt{(s)}  & Vera se il processo che ha causato il
+                                      ritorno di \func{waitpid} è bloccato;
+                                      l'uso è possibile solo con
+                                      \func{waitpid} avendo specificato
+                                      l'opzione \const{WUNTRACED}.\\
+    \macro{WSTOPSIG}\texttt{(s)}    & Restituisce il numero del segnale che ha
+                                      bloccato il processo; può essere
+                                      valutata solo se \val{WIFSTOPPED} ha
+                                      restituito un valore non nullo. \\ 
+    \macro{WIFCONTINUED}\texttt{(s)}& Vera se il processo che ha causato il
+                                      ritorno è stato riavviato da un
+                                      \signal{SIGCONT} (disponibile solo a
+                                      partire dal kernel 2.6.10).\\
     \hline
   \end{tabular}
   \caption{Descrizione delle varie macro di preprocessore utilizzabili per 
     \hline
   \end{tabular}
   \caption{Descrizione delle varie macro di preprocessore utilizzabili per 
@@ -1437,7 +1442,7 @@ argomenti all'esecuzione del nuovo programma. I loro prototipi sono:
 \fdecl{int execvp(const char *file, char *const argv[])}
 \fdesc{Eseguono un programma.} 
 }
 \fdecl{int execvp(const char *file, char *const argv[])}
 \fdesc{Eseguono un programma.} 
 }
-{Le funzioni ritorna solo in caso di errore, restituendo $-1$, i codici di
+{Le funzioni ritornano solo in caso di errore, restituendo $-1$, i codici di
   errore sono gli stessi di \func{execve}.
 }
 \end{funcproto}
   errore sono gli stessi di \func{execve}.
 }
 \end{funcproto}
@@ -1654,7 +1659,7 @@ Infine nel caso il programma che si vuole eseguire sia uno script e non un
 binario, questo deve essere un file di testo che deve iniziare con una linea
 nella forma:
 \begin{Example}
 binario, questo deve essere un file di testo che deve iniziare con una linea
 nella forma:
 \begin{Example}
-\#!/path/to/interpreter [argomenti]
+#!/path/to/interpreter [argomenti]
 \end{Example}
 dove l'interprete indicato deve essere un eseguibile binario e non un altro
 script, che verrà chiamato come se si fosse eseguito il comando
 \end{Example}
 dove l'interprete indicato deve essere un eseguibile binario e non un altro
 script, che verrà chiamato come se si fosse eseguito il comando
@@ -2862,7 +2867,7 @@ stato \textit{runnable} viene sempre inserito in coda alla lista. Se la
 politica scelta è \const{SCHED\_FIFO} quando il processo viene eseguito viene
 automaticamente rimesso in coda alla lista, e la sua esecuzione continua
 fintanto che non viene bloccato da una richiesta di I/O, o non rilascia
 politica scelta è \const{SCHED\_FIFO} quando il processo viene eseguito viene
 automaticamente rimesso in coda alla lista, e la sua esecuzione continua
 fintanto che non viene bloccato da una richiesta di I/O, o non rilascia
-volontariamente la CPU (in tal caso, tornando nello stato \textbf{Runnable}
+volontariamente la CPU (in tal caso, tornando nello stato \textit{runnable}
 sarà reinserito in coda alla lista); l'esecuzione viene ripresa subito solo
 nel caso che esso sia stato interrotto da un processo a priorità più alta.
 
 sarà reinserito in coda alla lista); l'esecuzione viene ripresa subito solo
 nel caso che esso sia stato interrotto da un processo a priorità più alta.
 
@@ -3020,7 +3025,7 @@ l'introduzione del \textit{Completely Fair Scheduler} questo comportamento è
 cambiato ed un processo che chiama la funzione viene inserito nella lista dei
 processi inattivo, con un tempo molto maggiore.\footnote{è comunque possibile
   ripristinare un comportamento analogo al precedente scrivendo il valore 1
 cambiato ed un processo che chiama la funzione viene inserito nella lista dei
 processi inattivo, con un tempo molto maggiore.\footnote{è comunque possibile
   ripristinare un comportamento analogo al precedente scrivendo il valore 1
-  nel file \texttt{/proc/sys/kernel/sched\_compat\_yield}.}
+  nel file \sysctlfile{kernel/sched\_compat\_yield}.}
 
 L'uso delle funzione nella programmazione ordinaria può essere utile e
 migliorare le prestazioni generali del sistema quando si è appena rilasciata
 
 L'uso delle funzione nella programmazione ordinaria può essere utile e
 migliorare le prestazioni generali del sistema quando si è appena rilasciata
@@ -3167,12 +3172,12 @@ permette di identificare un insieme di processori. Il dato è normalmente una
 maschera binaria: nei casi più comuni potrebbe bastare un intero a 32 bit, in
 cui ogni bit corrisponde ad un processore, ma oggi esistono architetture in
 cui questo numero può non essere sufficiente, e per questo è stato creato
 maschera binaria: nei casi più comuni potrebbe bastare un intero a 32 bit, in
 cui ogni bit corrisponde ad un processore, ma oggi esistono architetture in
 cui questo numero può non essere sufficiente, e per questo è stato creato
-questo \itindex{tipo!opaco} tipo opaco e una interfaccia di gestione che
+questo \index{tipo!opaco} tipo opaco e una interfaccia di gestione che
 permette di usare a basso livello un tipo di dato qualunque rendendosi
 indipendenti dal numero di bit e dalla loro disposizione.  Per questo le
 funzioni richiedono anche che oltre all'insieme di processori si indichi anche
 permette di usare a basso livello un tipo di dato qualunque rendendosi
 indipendenti dal numero di bit e dalla loro disposizione.  Per questo le
 funzioni richiedono anche che oltre all'insieme di processori si indichi anche
-la dimensione dello stesso con l'argomento \param{setsize}, per il quale,
-se non si usa l'allocazione dinamica che vedremo a breve, ed è in genere
+la dimensione dello stesso con l'argomento \param{setsize}, per il quale, se
+non si usa l'allocazione dinamica che vedremo a breve, ed è in genere
 sufficiente passare il valore \code{sizeof(cpu\_set\_t)}.
 
 L'interfaccia di gestione degli insiemi di processori, oltre alla definizione
 sufficiente passare il valore \code{sizeof(cpu\_set\_t)}.
 
 L'interfaccia di gestione degli insiemi di processori, oltre alla definizione
@@ -3842,7 +3847,7 @@ Introdotta a partire dal kernel 2.4.21, solo su PowerPC.
 
   Il comportamento di default prevede che per tutti i processi si applichi la
   politica generale di sistema definita nel file
 
   Il comportamento di default prevede che per tutti i processi si applichi la
   politica generale di sistema definita nel file
-  \procfile{/proc/sys/vm/memory\_failure\_early\_kill}, ma specificando
+  \sysctlfile{vm/memory\_failure\_early\_kill}, ma specificando
   per \param{arg2} il valore \const{PR\_MCE\_KILL\_SET} è possibile impostare
   con il contenuto di \param{arg3} una politica specifica del processo
   chiamante. Si può tornare alla politica di default del sistema utilizzando
   per \param{arg2} il valore \const{PR\_MCE\_KILL\_SET} è possibile impostare
   con il contenuto di \param{arg3} una politica specifica del processo
   chiamante. Si può tornare alla politica di default del sistema utilizzando
@@ -3908,9 +3913,10 @@ indicare la unità di esecuzione generica messa a disposizione del kernel che
 Oltre a questo la funzione consente, ad uso delle nuove funzionalità di
 virtualizzazione dei processi, di creare nuovi \textit{namespace} per una
 serie di proprietà generali dei processi (come l'elenco dei PID, l'albero dei
 Oltre a questo la funzione consente, ad uso delle nuove funzionalità di
 virtualizzazione dei processi, di creare nuovi \textit{namespace} per una
 serie di proprietà generali dei processi (come l'elenco dei PID, l'albero dei
-file, i \textit{mount point}, la rete, ecc.), che consentono di creare gruppi
-di processi che vivono in una sorta di spazio separato dagli altri, che
-costituisce poi quello che viene chiamato un \textit{container}.
+file, i \itindex{mount~point} \textit{mount point}, la rete, ecc.), che
+consentono di creare gruppi di processi che vivono in una sorta di spazio
+separato dagli altri, che costituisce poi quello che viene chiamato un
+\textit{container}.
 
 La \textit{system call} richiede soltanto due argomenti: il
 primo, \param{flags}, consente di controllare le modalità di creazione del
 
 La \textit{system call} richiede soltanto due argomenti: il
 primo, \param{flags}, consente di controllare le modalità di creazione del