Risistemati un sacco di riferiementi, e la riorganizzazione della parte
[gapil.git] / prochand.tex
index 8d27565b18ad84670190fd907ccb59d78039529d..e43caa970b166af4e26da74b68bc55e3dcfe2c9f 100644 (file)
@@ -49,16 +49,13 @@ genere 
 Tutti i processi inoltre portano traccia del pid del genitore, chiamato in
 genere \textit{ppid} (da \textit{Parente Process Id}). Questi identificativi
 possono essere ottenuti da un programma usando le funzioni:
-\begin{itemize} 
-  \item \texttt{pid\_t getpid(void)} restituisce il pid del processo corrente.
-    
-  \item \texttt{pid\_t getppid(void)} restituisce il pid del padre del processo
+\begin{functions}
+\headdecl{sys/types.h}
+\headdecl{unistd.h}
+\funcdecl{pid\_t getpid(void)} restituisce il pid del processo corrente.
+\funcdecl{pid\_t getppid(void)} restituisce il pid del padre del processo
     corrente.
-
-\end{itemize}
-(per l'accesso a queste funzioni e ai relativi tipi di dati occorre includere
-gli header files \texttt{unistd.h} e \texttt{sys/types.h}). 
-
+\end{functions}
 
 
 \section{Il controllo dei processi}
@@ -86,8 +83,8 @@ una informazione abbastanza limitata (il codice di uscita) sulle cause della
 terminazione del processo.
 
 Quando un processo ha concluso il suo compito o ha incontrato un errore non
-risolvibile esso può essere terminato con la funzione \texttt{exit} (la
-questione è più complessa ma ci torneremo più avanti). La vita del processo
+risolvibile esso può essere terminato con la funzione \texttt{exit} (si veda
+quanto discusso in \secref{sec:proc_termination}). La vita del processo
 però termina solo quando viene chiamata la quando la sua conclusione viene
 ricevuta dal processo padre, a quel punto tutte le risorse allocate nel
 sistema ad esso associate vengono rilasciate.
@@ -100,21 +97,23 @@ questo si usa la seconda funzione fondamentale per programmazione coi processi
 che è la \texttt{exec}.
 
 Il programma che un processo sta eseguendo si chiama immagine del processo
-(\textit{process image}), le funzioni della famiglia \textit{exec} permettono
+(\textit{process image}), le funzioni della famiglia \func{exec} permettono
 di caricare un'altro programma da disco sostituendo quest'ultimo alla process
 image corrente, questo fa si che la precedente immagine venga completamente
 cancellata e quando il nuovo programma esce anche il processo termina, senza
 ritornare alla precedente immagine.
 
-Per questo motivo la \texttt{fork} e la \texttt{exec} sono funzioni molto
+Per questo motivo la \func{fork} e la \func{exec} sono funzioni molto
 particolari con caratteristiche uniche rispetto a tutte le altre, infatti la
 prima ritorna due volte (nel processo padre e nel figlio) mentre la seconda
 non ritorna mai (in quanto con essa viene eseguito un altro programma).
 
 
-\subsection{La funzione \texttt{fork}}
+\subsection{La funzione \func{fork}}
 \label{sec:prochand_fork}
 
+La funzione \func{fork} 
+
 
 Dopo l'esecuzione di una fork sia il processo padre che il processo figlio
 continuano ad essere eseguiti normalmente, ed il processo figlio esegue
@@ -144,5 +143,5 @@ Linux come il filesystem uid.
 
 
 \subsection{Le funzioni \texttt{seteuid} e \texttt{setegid}}
-\label{sec:prochand_setuid}
+\label{sec:prochand_seteuid}