X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileunix.tex;h=5e3a39afbb58e61c447d03ab53aebd10ebbd1121;hp=5de72aa67cd481a748a0c4c9d9ca829fd9a45687;hb=f8d990a1b2a184dba66301ae20d1f7e8f300c139;hpb=193d612d40c5f81f5559ea6e11e70f6b6e51fb39 diff --git a/fileunix.tex b/fileunix.tex index 5de72aa..5e3a39a 100644 --- a/fileunix.tex +++ b/fileunix.tex @@ -552,6 +552,10 @@ seguenti valori\footnote{per compatibilità con alcune vecchie notazioni per ottenere la nuova posizione corrente. \end{basedescript} +% TODO, trattare, SEEK_HOLE e SEEK_DATA, inclusi nel kernel 3.1, vedi +% http://lwn.net/Articles/439623/ + + Si tenga presente che la chiamata a \func{lseek} non causa nessun accesso al file, si limita a modificare la posizione corrente (cioè il valore \var{f\_pos} in \param{file}, vedi fig.~\ref{fig:file_proc_file}). Dato che @@ -1139,15 +1143,15 @@ molti casi in cui sarebbe invece utile che ogni singolo \itindex{thread} 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 @@ -1681,7 +1685,6 @@ operazioni che sono predefinite per qualunque file,\footnote{in particolare % 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