From: Simone Piccardi Date: Mon, 27 Aug 2007 16:13:46 +0000 (+0000) Subject: Materiale su posix_fadvise X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=commitdiff_plain;h=3e628af9e969ffc8ec125d627823eb59cd760680;p=gapil.git Materiale su posix_fadvise --- diff --git a/fileadv.tex b/fileadv.tex index 8d5296e..d10d6f2 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -2351,7 +2351,7 @@ effettive del file o della sezione che si vuole mappare. \begin{figure}[!htb] \centering - \includegraphics[width=13cm]{img/mmap_boundary} + \includegraphics[height=6cm]{img/mmap_boundary} \caption{Schema della mappatura in memoria di una sezione di file di dimensioni non corrispondenti al bordo di una pagina.} \label{fig:file_mmap_boundary} @@ -2394,7 +2394,7 @@ che sono utilizzabili solo con questa interfaccia. \begin{figure}[htb] \centering - \includegraphics[width=13cm]{img/mmap_exceed} + \includegraphics[height=6cm]{img/mmap_exceed} \caption{Schema della mappatura in memoria di file di dimensioni inferiori alla lunghezza richiesta.} \label{fig:file_mmap_exceed} @@ -3131,7 +3131,7 @@ file destinazione. Il passo successivo (\texttt{\small 18--22}), quello di destinazione (\texttt{\small 23--27}) ed infine (\texttt{\small 28--31}) la \textit{pipe} che verrà usata come buffer. -\begin{figure}[!htbp] +\begin{figure}[!phtb] \footnotesize \centering \begin{minipage}[c]{15cm} \includecodesample{listati/splicecp.c} @@ -3436,6 +3436,41 @@ definisce la macro \macro{\_XOPEN\_SOURCE} ad almeno 600, } \end{functions} +La funzione dichiara al kernel le modalità con cui intende accedere alla +regione del file indicato da \param{fd} che inizia alla posizione +\param{offset} e si estende per \param{len} byte. Se per \param{len} si usa un +valora nullo la regione coperta sarà da \param{offset} alla fine del +file.\footnote{questo è vero solo per le versioni più recenti, fino al kernel + 2.6.6 il valore nullo veniva interpretato letteralmente.} Le modalità sono +indicate dall'argomento \param{advice} che è una maschera binaria dei valori +illustrati in tab.~\ref{tab:posix_fadvise_flag}. Si tenga presente comunque +che la funzione dà soltanto un avvertimento, non esiste nessun vincolo per il +kernel, che utilzza semplicemente l'informazione. + +\begin{table}[htb] + \centering + \footnotesize + \begin{tabular}[c]{|l|p{10cm}|} + \hline + \textbf{Valore} & \textbf{Significato} \\ + \hline + \hline + \const{POSIX\_FADV\_NORMAL} & Non ci sono avvisi specifici da fare + riguardo le modalità di accesso, il + comportamento sarà identico a quello che si + avrebbe senza nessun avviso.\\ + \const{POSIX\_FADV\_SEQUENTIAL} & .\\ + \const{POSIX\_FADV\_RANDOM} & .\\ + \const{POSIX\_FADV\_NOREUSE} & .\\ + \const{POSIX\_FADV\_WILLNEED} & .\\ + \const{POSIX\_FADV\_DONTNEED} & .\\ + \hline + \end{tabular} + \caption{Valori dei bit dell'argomento \param{advice} di + \func{posix\_fadvise} che indicano la modalità con cui si intende accedere + ad un file.} + \label{tab:posix_fadvise_flag} +\end{table}