X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileunix.tex;h=4d23bdf06c57495098844660e84e53e9cf11b5c9;hp=a4fb47991a1450c23e02113f3c90aa177e7f2ac5;hb=6e74264a76f38d92c33420801d6df62dae4fa64f;hpb=7f82a673d95054cd295c8743606cfa8aa249e731 diff --git a/fileunix.tex b/fileunix.tex index a4fb479..4d23bdf 100644 --- a/fileunix.tex +++ b/fileunix.tex @@ -1,61 +1,64 @@ \chapter{I files: l'interfaccia I/O di unix} \label{cha:file_unix_interface} -Per poter accedere al contenuto dei file occorre anzitutto aprirlo. Questo -crea un canale di comunicazione che permette di eseguire una serie di -operazioni. Una volta terminate le operazioni, il file dovrà essere chiuso, e -questo chiuderà il canale di comunicazione impedendo ogni ulteriore -operazione. +Esamineremo in questo capitolo la prima delle due interfacce di programmazione +per i file, quella dei file descriptor, nativa di unix. \section{I file descriptors} -\label{sec:fileunix_fd} +\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 +operazioni. Una volta terminate le operazioni, il file dovrà essere chiuso, e +questo chiuderà il canale di comunicazione impedendo ogni ulteriore +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} \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}