X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=process.tex;h=70dbce46e131baa8fa087cfc6f29de958b0c150a;hp=08a5e6d76cb80335af6258353c4f8a364a3391ad;hb=c474f4307db945bc45287edd0ea4c2c29374d0ee;hpb=687f101ae37d793ffda23c39ca8735e127b5fc9d diff --git a/process.tex b/process.tex index 08a5e6d..70dbce4 100644 --- a/process.tex +++ b/process.tex @@ -80,7 +80,7 @@ controllo direttamente alla routine di conclusione dei processi del kernel. Oltre alla conclusione ``\textsl{normale}'' esiste anche la possibilità di una conclusione ``\textsl{anomala}'' del programma a causa della ricezione di un -segnale (si veda \capref{cha:signals}) o della chiamata alla funzione +segnale (si veda cap.~\ref{cha:signals}) o della chiamata alla funzione \func{abort}; torneremo su questo in sez.~\ref{sec:proc_termination}. Il valore di ritorno della funzione \func{main}, o quello usato nelle chiamate @@ -152,10 +152,10 @@ non vengono salvati e le eventuali funzioni registrate con \func{atexit} e La funzione chiude tutti i file descriptor appartenenti al processo (si tenga presente che questo non comporta il salvataggio dei dati bufferizzati degli stream), fa sì che ogni figlio del processo sia ereditato da \cmd{init} (vedi -sez.~\ref{cha:process_handling}), manda un segnale \const{SIGCHLD} al processo -padre (vedi sez.~\ref{sec:sig_job_control}) ed infine ritorna lo stato di uscita -specificato in \param{status} che può essere raccolto usando la funzione -\func{wait} (vedi sez.~\ref{sec:proc_wait}). +cap.~\ref{cha:process_handling}), manda un segnale \const{SIGCHLD} al processo +padre (vedi sez.~\ref{sec:sig_job_control}) ed infine ritorna lo stato di +uscita specificato in \param{status} che può essere raccolto usando la +funzione \func{wait} (vedi sez.~\ref{sec:proc_wait}). \subsection{Le funzioni \func{atexit} e \func{on\_exit}} @@ -240,7 +240,7 @@ normalmente un programma Si ricordi infine che un programma può anche essere interrotto dall'esterno attraverso l'uso di un segnale (modalità di conclusione non mostrata in fig.~\ref{fig:proc_prog_start_stop}); torneremo su questo aspetto in -\capref{cha:signals}. +cap.~\ref{cha:signals}. @@ -267,7 +267,7 @@ in cui gli indirizzi vanno da zero ad un qualche valore massimo.\footnote{nel 2Gb. Con il kernel 2.4 ed il supporto per la \textit{high-memory} il limite è stato esteso.} -Come accennato in \capref{cha:intro_unix} questo spazio di indirizzi è +Come accennato in cap.~\ref{cha:intro_unix} questo spazio di indirizzi è virtuale e non corrisponde all'effettiva posizione dei dati nella RAM del computer; in genere detto spazio non è neppure continuo (cioè non tutti gli indirizzi possibili sono utilizzabili, e quelli usabili non sono @@ -318,7 +318,7 @@ Normalmente questo in genere il sistema è molto efficiente in questo lavoro; quando però ci siano esigenze specifiche di prestazioni è possibile usare delle funzioni che permettono di bloccare il meccanismo della paginazione\index{paginazione} e -mantenere fisse delle pagine in memoria (vedi \ref{sec:proc_mem_lock}). +mantenere fisse delle pagine in memoria (vedi sez.~\ref{sec:proc_mem_lock}). \subsection{La struttura della memoria di un processo}