X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileintro.tex;h=0a7bb94adc735105e3e06f5d715c6d464b8d1287;hp=0632b7a8fade79cc6f1094d378e1b91dd3a69e7a;hb=486c2be2a052783e6dec09bc288c76ecaa4f21e6;hpb=01e363536700694f191264cf2c2955b31116d1e3 diff --git a/fileintro.tex b/fileintro.tex index 0632b7a..0a7bb94 100644 --- a/fileintro.tex +++ b/fileintro.tex @@ -205,7 +205,7 @@ bufferizzato in quanto la lettura e la scrittura vengono eseguite chiamando direttamente le system call del kernel (in realtà il kernel effettua al suo interno alcune bufferizzazioni per aumentare l'efficienza nell'accesso ai dispositivi); i \textit{file descriptor}\index{file descriptor} sono -rappresentati da numeri interi (cioè semplici variabili di tipo \type{int}). +rappresentati da numeri interi (cioè semplici variabili di tipo \ctyp{int}). L'interfaccia è definita nell'header \file{unistd.h}. La seconda interfaccia è quella che il manuale della \acr{glibc} chiama degli @@ -217,7 +217,7 @@ Questa anche su tutti i sistemi non Unix. Gli \textit{stream} sono oggetti complessi e sono rappresentati da puntatori ad un opportuna struttura definita dalle librerie del C; si accede ad essi sempre in maniera indiretta utilizzando il -tipo \type{FILE *}. L'interfaccia è definita nell'header \type{stdio.h}. +tipo \ctyp{FILE *}. L'interfaccia è definita nell'header \file{stdio.h}. Entrambe le interfacce possono essere usate per l'accesso ai file come agli altri oggetti del VFS (fifo, socket, device, sui quali torneremo in dettaglio @@ -448,26 +448,29 @@ operazioni previste dal kernel \begin{table}[htb] \centering \footnotesize - \begin{tabular}[c]{|l|p{7cm}|} + \begin{tabular}[c]{|l|p{8cm}|} \hline \textbf{Funzione} & \textbf{Operazione} \\ \hline \hline - \textsl{\code{open}} & apre il file \\ - \textsl{\code{read}} & legge dal file \\ - \textsl{\code{write}} & scrive sul file \\ - \textsl{\code{llseek}} & sposta la posizione corrente sul file \\ + \textsl{\code{open}} & apre il file (vedi \secref{sec:file_open}). \\ + \textsl{\code{read}} & legge dal file (vedi \secref{sec:file_read}).\\ + \textsl{\code{write}} & scrive sul file (vedi \secref{sec:file_write}).\\ + \textsl{\code{llseek}} & sposta la posizione corrente sul file (vedi + \secref{sec:file_lseek}). \\ \textsl{\code{ioctl}} & accede alle operazioni di controllo - (tramite la \func{ioctl})\\ - \textsl{\code{readdir}}& per leggere il contenuto di una directory \\ - \textsl{\code{poll}} & \\ - \textsl{\code{mmap}} & chiamata dalla system call \func{mmap}. - mappa il file in memoria\\ + (vedi \secref{sec:file_ioctl}).\\ + \textsl{\code{readdir}}& legge il contenuto di una directory \\ + \textsl{\code{poll}} & usata nell'I/O multiplexing (vedi + \secref{sec:file_multiplexing}). \\ + \textsl{\code{mmap}} & mappa il file in memoria (vedi + \secref{sec:file_memory_map}). \\ \textsl{\code{release}}& chiamata quando l'ultima referenza a un file - aperto è chiusa\\ - \textsl{\code{fsync}} & chiamata dalla system call \func{fsync} \\ - \textsl{\code{fasync}} & chiamate da \func{fcntl} quando è abilitato - il modo asincrono per l'I/O su file. \\ + aperto è chiusa. \\ + \textsl{\code{fsync}} & sincronizza il contenuto del file (vedi + \secref{sec:file_sync}). \\ + \textsl{\code{fasync}} & abilita l'I/O asincrono (vedi + \secref{sec:file_asyncronous_io}) sul file. \\ \hline \end{tabular} \caption{Operazioni sui file definite nel VFS.}