Completata revisione capitolo 6.
[gapil.git] / prochand.tex
index b0144e78a298712eafbeabef0e671ea47b9a03c3..7bd2ed92ca8a25c3acac72961f65d14effe22345 100644 (file)
@@ -157,19 +157,15 @@ in fig.~\ref{fig:proc_task_struct}.
 
 Come accennato in sez.~\ref{sec:intro_unix_struct} è lo \itindex{scheduler}
 \textit{scheduler} che decide quale processo mettere in esecuzione; esso viene
-eseguito ad ogni \textit{system call} ed ad ogni interrupt e in una serie di
-altre occasioni, ma può essere anche attivato esplicitamente. Il timer di
-sistema provvede comunque a che esso sia invocato periodicamente; generando un
-interrupt periodico secondo la frequenza specificata dalla costante
-\const{HZ},\footnote{fino al kernel 2.4 il valore di \const{HZ} era 100 su
-  tutte le architetture tranne l'alpha, per cui era 1000, nel 2.6 è stato
-  portato a 1000 su tutte; dal 2.6.13 lo si può impostare in fase di
-  compilazione del kernel, con un default di 250 e valori possibili di 100,
-  250, 1000 e dal 2.6.20 anche 300 (che è divisibile per le frequenze di
-  refresh della televisione); occorre fare attenzione a non confondere questo
-  valore con quello dei \itindex{clock~tick} \textit{clock tick} (vedi
-  sez.~\ref{sec:sys_unix_time}).} definita in \file{asm/param.h}, ed il cui
-valore è espresso in Hertz.
+eseguito in occasione di dell'invocazione di ogni \textit{system call} ed per
+ogni interrupt dall'hardware oltre che in una serie di altre occasioni, e può
+essere anche attivato esplicitamente. Il timer di sistema provvede comunque a
+che esso sia invocato periodicamente, generando un interrupt periodico secondo
+una frequenza predeterminata, specificata dalla costante \const{HZ} del kernel
+(torneremo su questo argomento in sez.~\ref{sec:sys_unix_time}), che assicura
+che lo \textit{scheduler} scheduler venga comunque eseguito ad intervalli
+regolari e possa prendere le sue decisioni.
+
 
 A partire dal kernel 2.6.21 è stato introdotto anche un meccanismo
 completamente diverso, detto \textit{tickless}, in cui non c'è più una
@@ -1127,9 +1123,10 @@ tradizionalmente gli 8 bit meno significativi sono riservati per memorizzare
 lo \itindex{exit~status} stato di uscita del processo, e gli altri per
 indicare il segnale che ha causato la terminazione (in caso di conclusione
 anomala), uno per indicare se è stato generato un \itindex{core~dump}
-\textit{core dump}, ecc.\footnote{le definizioni esatte si possono trovare in
-  \file{<bits/waitstatus.h>} ma questo file non deve mai essere usato
-  direttamente, esso viene incluso attraverso \file{<sys/wait.h>}.}
+\textit{core dump} (vedi sez.~\ref{sec:sig_standard}), ecc.\footnote{le
+  definizioni esatte si possono trovare in \file{<bits/waitstatus.h>} ma
+  questo file non deve mai essere usato direttamente, esso viene incluso
+  attraverso \file{<sys/wait.h>}.}
 
 \begin{table}[!htb]
   \centering
@@ -1318,8 +1315,8 @@ campi:
   \const{CLD\_STOPPED}, \const{CLD\_CONTINUED}, \const{CLD\_TRAPPED} e
   \const{CLD\_DUMPED} a indicare la ragione del ritorno della funzione, il cui
   significato è, nell'ordine: uscita normale, terminazione da segnale,
-  processo fermato, processo riavviato, processo terminato in \textit{core
-    dump}.
+  processo fermato, processo riavviato, processo terminato in
+  \itindex{core~dump} \textit{core dump} (vedi sez.~\ref{sec:sig_standard}).
 \end{basedescript}
 
 Infine Linux, seguendo un'estensione di BSD, supporta altre due funzioni per
@@ -3888,14 +3885,15 @@ Introdotta a partire dal kernel 2.4.21, solo su PowerPC.
   nulli pena la ricezione di un errore di \errval{EINVAL}. Introdotta a
   partire dal kernel 2.6.32.
 % TODO: verificare questa parte
-\item[PR\_SET\_CHILD\_SUBREAPER] Imposta il processo indicato con il \ids{PID}
-  specificato da \param{arg2} come nuovo ``\textsl{genitore adottivo}'' per
-  tutti i processi discendenti del chiamante che diventeranno orfani,
-  sostituendo in questo ruolo \cmd{init} (si ricordi quanto illustrato in
-  sez.~\ref{sec:proc_termination}). Introdotta a partire dal kernel 3.4.
-\item[PR\_GET\_CHILD\_SUBREAPER] Ottiene il \ids{PID} del processo a cui
-  vengono assegnati come figli gli orfani del processo corrente. Introdotta a
-  partire dal kernel 3.4.
+\item[\const{PR\_SET\_CHILD\_SUBREAPER}] Imposta il processo indicato con il
+  \ids{PID} specificato da \param{arg2} come nuovo ``\textsl{genitore
+    adottivo}'' per tutti i processi discendenti del chiamante che
+  diventeranno orfani, sostituendo in questo ruolo \cmd{init} (si ricordi
+  quanto illustrato in sez.~\ref{sec:proc_termination}). Introdotta a partire
+  dal kernel 3.4.
+\item[\const{PR\_GET\_CHILD\_SUBREAPER}] Ottiene il \ids{PID} del processo a
+  cui vengono assegnati come figli gli orfani del processo
+  corrente. Introdotta a partire dal kernel 3.4.
 \label{sec:prctl_operation}
 \end{basedescript}