Piccole correzioni ed aggiunte
authorSimone Piccardi <piccardi@gnulinux.it>
Wed, 11 Jan 2012 12:09:54 +0000 (12:09 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Wed, 11 Jan 2012 12:09:54 +0000 (12:09 +0000)
fileadv.tex
filedir.tex
prochand.tex
system.tex
thread.tex

index a4692add51a508ea1436a0381cbd6e55396d0719..d3c9061f7fbe1af01d4b7eb54f850447262d3feb 100644 (file)
@@ -835,7 +835,7 @@ bloccare completamente un server NFS richiedendo una lettura su un file su cui
 è 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
index 8e317862cf1ed7b01f7d793b0b4f9dc5f5a24468..c9fc3c8b6366928a9562acfaf46fc2e5a9911166 100644 (file)
@@ -721,49 +721,48 @@ significativi sono un \itindex{magic~number} \textit{magic
   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
index 2be5cf1ef10948faba8004c897f5e5f5fa32c284..7d4f4744f61269f65013c2fb70805705e9db8468 100644 (file)
@@ -25,7 +25,7 @@ finale introdurremo alcune problematiche generiche della programmazione in
 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
@@ -1426,6 +1426,8 @@ il processo corrente è tracciato con \func{ptrace} (vedi
 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
@@ -4010,18 +4012,23 @@ non ritorna, o esegue \func{exit} o viene terminata da un segnale. Il valore
 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}]
index ff4033dcba52b0878bb368e9b0878f62215bf468..ffae3ab8511d81abf76a1d751511c296c166d0e9 100644 (file)
@@ -1311,6 +1311,7 @@ fatto solo fino al valore del secondo, che per questo viene detto \textit{hard
                               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,
index 39c1f16ebd4b8ca1bc156efb458457a30d26ba33..b39dec144846510ded49fa408de117d861b9d849 100644 (file)
@@ -57,15 +57,39 @@ dei processi:
 \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}
+
+