From: Simone Piccardi Date: Sat, 8 Sep 2001 21:56:45 +0000 (+0000) Subject: Aggiunta poca roba X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=commitdiff_plain;h=67a484c6ccfdb14cdd37678ca5df0db699801935 Aggiunta poca roba --- diff --git a/prochand.tex b/prochand.tex index b9cd6a7..59eb404 100644 --- a/prochand.tex +++ b/prochand.tex @@ -208,12 +208,24 @@ ritorno della funzione fork figlio è zero; in questo modo il programma può identificare se viene eseguito dal padre o dal figlio. -Si noti come la funzione, caso unico che ne contraddistingue l'importanza, -ritorni \textbf{due} volte. Nel caso del padre viene restituito il \acr{pid} -del figlio in quanto potendo esservi più figli questo è il modo per poterne -tracciare la creazione, il figlio invece ha un unico padre (il cui \acr{pid} -può essere ottenuto con \func{getppid}, vista in \secref{sec:proc_pid}) e si -usa il valore nullo (che non può essere il \acr{pid} di nessun processo) +Si noti come la funzione \fucn{fork} ritorni \textbf{due} volte: nel padre e +nel figlio. La sola differenza che si ha nei due processi è il valore di +ritorno restituito dalla funzione, che nel padre è il \acr{pid} del figlio +mentre nel figlio è zero; in questo modo il programma può identificare se +viene eseguito dal padre o dal figlio. La scelta di questi valori comunque non +è casuale, un processo infatti può avere più figli, ed il valore di ritorno di +\func{fork} è l'unico modo che permette di idenficare quello appena creato; al +contrario un figlio ha sempre un solo padre (il cui \acr{pid} può sempre +essere ottenuto con \func{getppid}, vista in \secref{sec:proc_pid}) e si usa +il valore nullo, che non può essere il \acr{pid} di nessun processo. + +In generale non si può dire se il quale fra il padre ed il figlio venga +eseguito per primo\footnote{anche se nel kernel 2.4.x è stato introdotto un + meccanismo che metteva in esecuzione sempre il xxx per primo (TODO + recuperare le informazioni esatte)}, per cui se i due processi devono essere +sincronizzati occorre ricorrere ad un qualche meccanismo di +intercomunicazione. +