From bfe5696e67dce3298287793e22a0acc39f952f77 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Sun, 27 Feb 2011 12:34:15 +0000 Subject: [PATCH] Applicate correzioni e nuova figura inviate da Alessio Frusciante. --- fileadv.tex | 8 ++++---- filedir.tex | 2 +- process.tex | 31 +++++++++++++++++++++++++++++-- 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/fileadv.tex b/fileadv.tex index 37a6e7f..6f87c7b 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -3475,7 +3475,7 @@ eseguire la mappatura in memoria di un file, \end{functions} La funzione richiede di mappare in memoria la sezione del file \param{fd} a -partire da \param{offset} per \param{lenght} byte, preferibilmente +partire da \param{offset} per \param{length} byte, preferibilmente all'indirizzo \param{start}. Il valore di \param{offset} deve essere un multiplo della dimensione di una pagina di memoria. @@ -3636,7 +3636,7 @@ verr bordo della pagina successiva. In questo caso è possibile accedere a quella zona di memoria che eccede le -dimensioni specificate da \param{lenght}, senza ottenere un \const{SIGSEGV} +dimensioni specificate da \param{length}, senza ottenere un \const{SIGSEGV} poiché essa è presente nello spazio di indirizzi del processo, anche se non è mappata sul file. Il comportamento del sistema è quello di restituire un valore nullo per quanto viene letto, e di non riportare su file quanto viene @@ -4039,9 +4039,9 @@ le opportune strategie di ottimizzazione. Il suo prototipo La sezione di memoria sulla quale si intendono fornire le indicazioni deve essere indicata con l'indirizzo iniziale \param{start} e l'estensione -\param{lenght}, il valore di \param{start} deve essere allineato, +\param{length}, il valore di \param{start} deve essere allineato, mentre \param{length} deve essere un numero positivo.\footnote{la versione di - Linux consente anche un valore nullo per \param{lenght}, inoltre se una + Linux consente anche un valore nullo per \param{length}, inoltre se una parte dell'intervallo non è mappato in memoria l'indicazione viene comunque applicata alle restanti parti, anche se la funzione ritorna un errore di \errval{ENOMEM}.} L'indicazione viene espressa dall'argomento \param{advice} diff --git a/filedir.tex b/filedir.tex index 8b72628..568cbf6 100644 --- a/filedir.tex +++ b/filedir.tex @@ -1705,7 +1705,7 @@ dimensione si possono usare le due funzioni \funcd{truncate} e \begin{functions} \headdecl{unistd.h} \funcdecl{int truncate(const char *file\_name, off\_t length)} Fa si che la dimensione del file \param{file\_name} sia troncata - ad un valore massimo specificato da \param{lenght}. + ad un valore massimo specificato da \param{length}. \funcdecl{int ftruncate(int fd, off\_t length))} Identica a \func{truncate} eccetto che si usa con un file aperto, specificato tramite il suo file diff --git a/process.tex b/process.tex index 1aa521a..b8be6d5 100644 --- a/process.tex +++ b/process.tex @@ -861,7 +861,7 @@ il suo prototipo \bodydesc{La funzione ritorna 0 in caso di successo e $-1$ in caso di errore, nel qual caso \var{errno} assumerà uno dei valori seguenti: \begin{errlist} - \item[\errcode{ENOMEM}] o \param{addr} + \param{lenght} eccede la dimensione + \item[\errcode{ENOMEM}] o \param{addr} + \param{length} eccede la dimensione della memoria usata dal processo o l'intervallo di indirizzi specificato non è mappato. \item[\errcode{EINVAL}] \param{addr} non è un multiplo delle dimensioni di @@ -1446,7 +1446,34 @@ pi fig.~\ref{fig:proc_envirno_list}. \begin{figure}[htb] \centering - \includegraphics[width=15 cm]{img/environ_var} +% \includegraphics[width=15 cm]{img/environ_var} + \begin{tikzpicture}[>=stealth] + \draw (2,3.5) node {\textsf{Environment pointer}}; + \draw (6,3.5) node {\textsf{Environment list}}; + \draw (10.5,3.5) node {\textsf{Environment string}}; + \draw (0.5,2.5) rectangle (3.5,3); + \draw (2,2.75) node {\texttt{environ}}; + \draw [->] (3.5,2.75) -- (4.5,2.75); + \draw (4.5,2.5) rectangle (7.5,3); + \draw (6,2.75) node {\texttt{environ[0]}}; + \draw (4.5,2) rectangle (7.5,2.5); + \draw (6,2.25) node {\texttt{environ[1]}}; + \draw (4.5,1.5) rectangle (7.5,2); + \draw (4.5,1) rectangle (7.5,1.5); + \draw (4.5,0.5) rectangle (7.5,1); + \draw (4.5,0) rectangle (7.5,0.5); + \draw (6,0.25) node {\texttt{NULL}}; + \draw [->] (7.5,2.75) -- (8.5,2.75); + \draw (8.5,2.75) node[right] {\texttt{HOME=/home/piccardi}}; + \draw [->] (7.5,2.25) -- (8.5,2.25); + \draw (8.5,2.25) node[right] {\texttt{PATH=:/bin:/usr/bin}}; + \draw [->] (7.5,1.75) -- (8.5,1.75); + \draw (8.5,1.75) node[right] {\texttt{SHELL=/bin/bash}}; + \draw [->] (7.5,1.25) -- (8.5,1.25); + \draw (8.5,1.25) node[right] {\texttt{EDITOR=emacs}}; + \draw [->] (7.5,0.75) -- (8.5,0.75); + \draw (8.5,0.75) node[right] {\texttt{OSTYPE=linux-gnu}}; + \end{tikzpicture} \caption{Esempio di lista delle variabili di ambiente.} \label{fig:proc_envirno_list} \end{figure} -- 2.30.2