(che in seguito incontreremo a più riprese), è mostrato in
fig.~\ref{fig:proc_task_struct}.
-\begin{figure}[htb]
- \centering
- \includegraphics[width=14cm]{img/task_struct}
+\begin{figure}[!htb]
+ \centering \includegraphics[width=14cm]{img/task_struct}
\caption{Schema semplificato dell'architettura delle strutture usate dal
kernel nella gestione dei processi.}
\label{fig:proc_task_struct}
\func{getppid}, vedi sez.~\ref{sec:proc_pid}) per cui si usa il valore nullo,
che non è il \acr{pid} di nessun processo.
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
\footnotesize \centering
- \begin{minipage}[c]{15cm}
+ \begin{minipage}[c]{\codesamplewidth}
\includecodesample{listati/ForkTest.c}
\end{minipage}
\normalsize
indicato dall'argomento \param{path}, che viene interpretato come il
\itindex{pathname} \textit{pathname} del programma.
-\begin{figure}[htb]
- \centering
- \includegraphics[width=12cm]{img/exec_rel}
+\begin{figure}[!htb]
+ \centering \includegraphics[width=12cm]{img/exec_rel}
\caption{La interrelazione fra le sei funzioni della famiglia \func{exec}.}
\label{fig:proc_exec_relat}
\end{figure}
debba essere assegnato all'interno di un intervallo fra un massimo ed un
minimo che nel caso di Linux sono rispettivamente 1 e 99.
-\begin{figure}[!bht]
+\begin{figure}[!htbp]
\footnotesize \centering
- \begin{minipage}[c]{15cm}
+ \begin{minipage}[c]{\textwidth}
\includestruct{listati/sched_param.c}
\end{minipage}
\normalsize
La funzione prende come primo argomento il puntatore alla funzione che verrà
messa in esecuzione nel nuovo processo, che può avere un unico argomento di
-tipo puntatore a \ctype{void}, il cui valore viene passato dal terzo
+tipo puntatore a \ctyp{void}, il cui valore viene passato dal terzo
argomento \param{arg}; per quanto il precedente prototipo possa intimidire
nella sua espressione, in realtà l'uso è molto semplice basterà definire una
qualunque funzione \param{fn} del tipo indicato, e \code{fn(arg)} sarà
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.
+presenti solo a partire dal kernel 2.6.
Il comportamento di \func{clone}, che si riflette sulle caratteristiche del
nuovo processo da essa creato, è controllato dall'argomento \param{flags},
Da fare
+% TODO: trattare PTRACE_SEIZE, aggiunta con il kernel 3.1
+
+
\subsection{L'accesso alle porte di I/O}
\label{sec:process_io_port}