\index{file!descriptor|)}
-\begin{figure}[htb]
+\begin{figure}[!htb]
\centering
\includegraphics[width=13cm]{img/procfile}
\caption{Schema della architettura dell'accesso ai file attraverso
per ottenere la nuova posizione corrente.
\end{basedescript}
-% TODO, trattare, quando inclusi, SEEK_HOLE e SEEK_DATA, vedi
+% TODO, trattare, SEEK_HOLE e SEEK_DATA, inclusi nel kernel 3.1, vedi
% http://lwn.net/Articles/439623/
esamineremo ora in dettaglio le conseguenze che questa architettura ha nei
confronti dell'accesso allo stesso file da parte di processi diversi.
-\begin{figure}[htb]
+\begin{figure}[!htb]
\centering
\includegraphics[width=15cm]{img/filemultacc}
\caption{Schema dell'accesso allo stesso file da parte di due processi
dimensione corrente \index{inode} dall'inode.
\end{itemize}
-\begin{figure}[htb]
+\begin{figure}[!htb]
\centering
\includegraphics[width=15cm]{img/fileshar}
\caption{Schema dell'accesso ai file da parte di un processo figlio}
alla stessa voce nella \textit{file table}; per questo si dice che il nuovo
file descriptor è \textsl{duplicato}, da cui il nome della funzione.
-\begin{figure}[htb]
+\begin{figure}[!htb]
\centering \includegraphics[width=14cm]{img/filedup}
\caption{Schema dell'accesso ai file duplicati}
\label{fig:file_dup}
Per risolvere questi problemi, riprendendo una interfaccia già presente in
Solaris, a fianco delle normali funzioni che operano sui file (come
\func{open}, \func{mkdir}, ecc.) sono state introdotte delle ulteriori
-funzioni, contraddistinte dal suffisso \texttt{at}, che permettono l'apertura
-di un file (o le rispettive altre operazioni) usando un pathname relativo ad
-una directory specificata.\footnote{l'introduzione è avvenuta su proposta
- dello sviluppatore principale delle \acr{glibc} Urlich Drepper; le
- corrispondenti system call sono state inserite nel kernel ufficiale a
- partire dalla versione 2.6.16, in precedenza era disponibile una emulazione
- che, sia pure con prestazioni inferiori, funzionava facendo ricorso all'uso
- del filesystem \textit{proc} con l'apertura del file attraverso il
- riferimento a pathname del tipo di
+funzioni, dette anche funzioni ``\textit{at}'' in quanto contraddistinte dal
+suffisso \texttt{at}, che permettono l'apertura di un file (o le rispettive
+altre operazioni) usando un pathname relativo ad una directory
+specificata.\footnote{l'introduzione è avvenuta su proposta dello sviluppatore
+ principale delle \acr{glibc} Urlich Drepper; le corrispondenti system call
+ sono state inserite nel kernel ufficiale a partire dalla versione 2.6.16, in
+ precedenza era disponibile una emulazione che, sia pure con prestazioni
+ inferiori, funzionava facendo ricorso all'uso del filesystem \textit{proc}
+ con l'apertura del file attraverso il riferimento a pathname del tipo di
\texttt{/proc/self/fd/dirfd/relative\_path}.} Benché queste funzioni non
siano presenti negli standard tradizionali esse sono state adottate da vari
Unix\footnote{oltre a Linux e Solaris sono presenti in vari BSD.} fino ad
% TODO aggiungere FIBMAP e FIEMAP, vedi http://lwn.net/Articles/260832
-
Si noti però come la gran parte di queste operazioni specifiche dei file (per
essere precisi le prime sei dell'elenco) siano effettuabili in maniera
generica anche tramite l'uso di \func{fcntl}. Le due funzioni infatti sono