usate a questo scopo sono dichiarate nell'header file \file{linux/sched.h}, ed
uno schema semplificato, che riporta la struttura delle principali informazioni
contenute nella \type{task\_struct} (che in seguito incontreremo a più
-riprese), è mostrato in \nfig.
+riprese), è mostrato in \figref{fig:proc_task_struct}.
\begin{figure}[htb]
\centering
processo viene creato, fino ad un limite che, essendo il \acr{pid} un numero
positivo memorizzato in un intero a 16 bit, arriva ad un massimo di 32767.
Oltre questo valore l'assegnazione riparte dal numero più basso disponibile a
-partire da un minimo di 300,\footnote{questi valori sono definiti dalla macro
- \macro{PID\_MAX} in \file{threads.h} e direttamente in \file{fork.c} nei
- sorgenti del kernel.} che serve a riservare i \acr{pid} più bassi ai processi
-eseguiti dal direttamente dal kernel. Per questo motivo, come visto in
-\secref{sec:proc_hierarchy}, il processo di avvio (\cmd{init}) ha sempre il
-\acr{pid} uguale a uno.
+partire da un minimo di 300,\footnote{questi valori, fino al kernel 2.4.x,
+ sono definiti dalla macro \macro{PID\_MAX} in \file{threads.h} e
+ direttamente in \file{fork.c}, con il kernel 2.5.x e la nuova interfaccia
+ per i thread creata da Ingo Molnar anche il meccanismo di allocazione dei
+ \acr{pid} è stato modificato.} che serve a riservare i \acr{pid} più bassi
+ai processi eseguiti dal direttamente dal kernel. Per questo motivo, come
+visto in \secref{sec:proc_hierarchy}, il processo di avvio (\cmd{init}) ha
+sempre il \acr{pid} uguale a uno.
Tutti i processi inoltre memorizzano anche il \acr{pid} del genitore da cui
sono stati creati, questo viene chiamato in genere \acr{ppid} (da
fintanto che esso si trova in uno qualunque degli altri stati.
\begin{table}[htb]
+ \footnotesize
\centering
\begin{tabular}[c]{|p{2.8cm}|c|p{10cm}|}
\hline