X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=fileunix.tex;h=4964298bb9861361a2af22366a0e2f86c242d742;hb=769471b8de26b01b593f2df5845ce40dfb92c607;hp=4d9daef3e2bb12057b9dba6e1a20ced630b09426;hpb=266370b12b4a8197779eeb55b606fc9477a096c4;p=gapil.git diff --git a/fileunix.tex b/fileunix.tex index 4d9daef..4964298 100644 --- a/fileunix.tex +++ b/fileunix.tex @@ -1,15 +1,24 @@ \chapter{I files: l'interfaccia I/O di unix} \label{cha:file_unix_interface} - Esamineremo in questo capitolo la prima delle due interfacce di programmazione -per i file, quella dei file descriptor, nativa di unix. +per i file, quella dei file descriptor, nativa di unix. Questa è +l'interfaccia di basso livello, che non prevede funzioni evolute come la +bufferizzazione o funzioni di lettura o scrittura formattata, su cui è +costruita anche l'interfaccia standard dei file definta dallo standard ANSI +C. + + +\section{L'architettura di base} +\label{sec:file_base_arch} +Iniziamo la trattazione con una panoramica sull'architettura base della +intefaccuia dei file descriptor. Esamineremo in questa sezione -\section{I file descriptors} -\label{sec:fileunix_fd} +\subsection{I file descriptors} +\label{sec:file_fd} Per poter accedere al contenuto dei file occorre anzitutto aprirlo. Questo crea un canale di comunicazione che permette di eseguire una serie di @@ -18,48 +27,48 @@ questo chiuder operazione. \section{Le funzioni base} -\label{sec:fileunix_base_func} +\label{sec:file_base_func} L'interfaccia standard unix per l'input/output sui file è su cinque funzioni -\texttt{open}, \texttt{read}, \texttt{write}, \texttt{lseek}, \texttt{close} +\texttt{open}, \texttt{read}, \texttt{write}, \texttt{lseek}, \texttt{close}; \subsection{La funzione \texttt{open}} -\label{sec:fileunix_open} +\label{sec:file_open} \subsection{La funzione \texttt{creat}} -\label{sec:fileunix_creat} +\label{sec:file_creat} \subsection{La funzione \texttt{close}} -\label{sec:fileunix_close} +\label{sec:file_close} \subsection{La funzione \texttt{lseek}} -\label{sec:fileunix_lseek} +\label{sec:file_lseek} \subsection{La funzione \texttt{read}} -\label{sec:fileunix_read} +\label{sec:file_read} \subsection{La funzione \texttt{write}} -\label{sec:fileunix_write} +\label{sec:file_write} \section{La condivisione dei files} -\label{sec:fileunix_sharing} +\label{sec:file_sharing} \subsection{Operazioni atomiche} -\label{sec:fileunix_atomic} +\label{sec:file_atomic} \section{Funzioni avanzate} -\label{sec:fileunix_adv_func} +\label{sec:file_adv_func} \subsection{La funzioni \texttt{dup} e \texttt{dup2}} -\label{sec:fileunix_dup} +\label{sec:file_dup} \subsection{La funzione \texttt{fcntl}} -\label{sec:fileunix_fcntl} +\label{sec:file_fcntl} \subsection{La funzione \texttt{ioctl}} -\label{sec:fileunix_ioctl} +\label{sec:file_ioctl}