è attivo un blocco. Per questo motivo l'abilitazione del \textit{mandatory
   locking} è di norma disabilitata, e deve essere attivata filesystem per
 filesystem in fase di montaggio (specificando l'apposita opzione di
-\func{mount} riportata in tab.~\ref{tab:sys_mount_flags}, o con l'opzione
+\func{mount} riportata in sez.~\ref{sec:sys_file_config}), o con l'opzione
 \code{-o mand} per il comando omonimo).
 
 Si tenga presente inoltre che il \textit{mandatory locking} funziona solo
 
   al \textit{magic number}.} mentre i 16 meno significativi sono usati per
 specificare le opzioni; essi sono usati come maschera binaria e vanno
 impostati con un OR aritmetico della costante \const{MS\_MGC\_VAL} con i
-valori riportati in tab.~\ref{tab:sys_mount_flags}.
+valori riportati nell'elenco seguente:
 
-\begin{table}[htb]
-  \footnotesize
-  \centering
-  \begin{tabular}[c]{|l|p{8cm}|}
-    \hline
-    \textbf{Parametro} & \textbf{Significato}\\
-    \hline
-    \hline
-    \const{MS\_BIND}       & Monta il filesystem altrove.\\
-    \const{MS\_DIRSYNC}    & .\\
-    \const{MS\_MANDLOCK}   & Consente il \textit{mandatory locking} 
-                             \itindex{mandatory~locking} (vedi
-                             sez.~\ref{sec:file_mand_locking}).\\
-    \const{MS\_MOVE}       & Sposta atomicamente il punto di montaggio.\\
-    \const{MS\_NOATIME}    & Non aggiorna gli \textit{access time} (vedi
-                             sez.~\ref{sec:file_file_times}).\\
-    \const{MS\_NODEV}      & Impedisce l'accesso ai file di dispositivo.\\
-    \const{MS\_NODIRATIME} & Non aggiorna gli \textit{access time} delle
-                             directory.\\
-    \const{MS\_NOEXEC}     & Impedisce di eseguire programmi.\\
-    \const{MS\_NOSUID}     & Ignora i bit \itindex{suid~bit} \acr{suid} e
-                             \itindex{sgid~bit} \acr{sgid}.\\ 
-    \const{MS\_RDONLY}     & Monta in sola lettura.\\
-    \const{MS\_RELATIME}   & .\\
-    \const{MS\_REMOUNT}    & Rimonta il filesystem cambiando le opzioni.\\
-    \const{MS\_SILENT}     & .\\
-    \const{MS\_STRICTATIME}& .\\
-    \const{MS\_SYNCHRONOUS}& Abilita la scrittura sincrona.\\
-    % \const{S\_WRITE}       &  Scrive normalmente.\\
-    % \const{S\_APPEND}      &  Consente la scrittura solo in
-    %                          \itindex{append~mode} \textit{append mode} 
-    %                          (vedi sez.~\ref{sec:file_sharing}).\\
-    % \const{S\_IMMUTABLE}   &  Impedisce che si possano modificare i file.\\
-    \hline
-  \end{tabular}
-  \caption{Tabella dei codici dei flag di montaggio di un filesystem.}
-  \label{tab:sys_mount_flags}
-\end{table}
+\begin{basedescript}{\desclabelstyle{\pushlabel}}
+
+\item[\const{MS\_BIND}]        Effettua un cosiddetto \textit{bind mount}, in
+                            sostanza .
+
+\item[\const{MS\_DIRSYNC}]     .
+
+\item[\const{MS\_MANDLOCK}]    Consente il \textit{mandatory locking} 
+                        \itindex{mandatory~locking} (vedi
+                        sez.~\ref{sec:file_mand_locking}).
+
+\item[\const{MS\_MOVE}]        Sposta atomicamente il punto di montaggio.
+
+\item[\const{MS\_NOATIME}]     Non aggiorna gli \textit{access time} (vedi
+                        sez.~\ref{sec:file_file_times}).
+
+\item[\const{MS\_NODEV}]       Impedisce l'accesso ai file di dispositivo.
+
+\item[\const{MS\_NODIRATIME}]  Non aggiorna gli \textit{access time} delle
+                        directory.
+\item[\const{MS\_NOEXEC}]      Impedisce di eseguire programmi.
+
+\item[\const{MS\_NOSUID}]      Ignora i bit \itindex{suid~bit} \acr{suid} e
+                        \itindex{sgid~bit} \acr{sgid}. 
+
+\item[\const{MS\_RDONLY}]      Monta in sola lettura.
+
+\item[\const{MS\_RELATIME}]    .
+
+\item[\const{MS\_REMOUNT}]     Rimonta il filesystem cambiando le opzioni.
+
+\item[\const{MS\_SILENT}]      .
+
+\item[\const{MS\_STRICTATIME}] .
+
+\item[\const{MS\_SYNCHRONOUS}] Abilita la scrittura sincrona.
 
 % TODO aggiornare con i nuovi flag di man mount
 % verificare i readonly mount bind del 2.6.26
+\end{basedescript}
 
 La funzione \func{mount} può essere utilizzata anche per effettuare il
 \textsl{rimontaggio} di un filesystem, cosa che permette di cambiarne al volo
 
 ambiente multitasking.
 
 
-\section{Le funzioni di base}% della gestione dei processi}
+\section{Le funzioni di base della gestione dei processi}
 \label{sec:proc_handling}
 
 In questa sezione tratteremo le problematiche della gestione dei processi
 sez.~\ref{sec:process_ptrace}) in caso di successo viene emesso il segnale
 \signal{SIGTRAP}.
 
+% TODO aggiungere la parte sul numero massimo di argomenti, da man execve
+
 Le altre funzioni della famiglia (\funcd{execl}, \funcd{execv},
 \funcd{execle}, \funcd{execlp}, \funcd{execvp}) servono per fornire all'utente
 una serie di possibili diverse interfacce nelle modalità di passaggio degli
 di ritorno della funzione (o quello specificato con \func{exit}) verrà
 utilizzato come stato di uscita della funzione. I tre
 argomenti \param{ptid}, \param{tls} e \param{ctid} sono opzionali e sono
-presenti solo a partire dal kernel 2.6 ed usati principalmente per le funzioni
-di gestione dei \textit{thread} presenti nella \acr{glibc}.
+presenti solo a partire dal kernel 2.6 e sono stati aggiunti come supporto per
+le funzioni di gestione dei \textit{thread} (la \textit{Native Thread Posix
+  Library}, vedi sez.~\ref{sec:linux_ntpl}) nella \acr{glibc}, essi vengono
+utilizzati soltanto se si sono specificati rispettivamente i flag
+\const{CLONE\_PARENT\_SETTID}, \const{CLONE\_SETTLS} e
+\const{CLONE\_CHILD\_CLEARTID}.
 
 Il comportamento di \func{clone}, che si riflette sulle caratteristiche del
 nuovo processo da essa creato, è controllato dall'argomento \param{flags}, che
 deve essere specificato come maschera binaria, ottenuta con un OR aritmetico
 di una delle costanti del seguente elenco, che illustra quelle attualmente
-disponibili:\footnote{alla stesura di questa sezione, cioè con il kernel 3.2.}
+disponibili:\footnote{si fa riferimento al momento della stesura di questa
+  sezione, cioè con il kernel 3.2.}
 
 \begin{basedescript}{\desclabelstyle{\pushlabel}}
 
-\item[\const{CLONE\_CHILD\_CLEARTID}] 
+\item[\const{CLONE\_CHILD\_CLEARTID}] cancella il 
 \item[\const{CLONE\_CHILD\_SETTID}]
 \item[\const{CLONE\_FILES}]
 \item[\const{CLONE\_FS}]
 
                               esegue operazioni che estendano lo
                               \textit{stack} oltre questa dimensione 
                               riceverà un segnale di \signal{SIGSEGV}.\\
+% TODO dal 2.6.23 il significato è cambiato, vedi anche man execve
     \const{RLIMIT\_RSS}    &  L'ammontare massimo di pagine di memoria dato al
                               \index{segmento!testo} testo del processo. Il
                               limite è solo una indicazione per il kernel,
 
 \end{itemize}
 
 
-\subsection{I \textit{thread} e Linux}
-\label{sec:linux_thread}
 
+\subsection{\textit{Thread} e processi}
+\label{sec:thread_process}
 
+Per un utilizzo effettivo dei \textit{thread} è sempre opportuno capire se
+questi sono davvero adatti allo scopo che ci si pone.
 
 
 \subsection{Implementazioni alternative}
 \label{sec:thread_other}
 
+Vedremo nella prossima sezione le caratteristiche del supporto per i
+\textit{thread} fornita dal kernel, ma esistono diversi possibili approcci
+alle modalità in cui questi possono essere realizzati. 
+
+% TODO cenni su pth e le implementazioni in userspace
+
+
+\section{I \textit{thread} e Linux}
+\label{sec:linux_thread}
+
+In questa sezione tratteremo le implementazioni dei \textit{thread}
+disponibili con Linux che ha visto un radicale cambiamento nel passaggio dalla
+serie 2.4 alla serie 2.6, che ha portato alla versione attuale. 
+
+\subsection{I \textit{LinuxThread}}
+\label{sec:linux_old_thread}
+
+
+\subsection{La \textit{Native Thread Posix Library}}
+\label{sec:linux_ntpl}
+
+