\chapter{I files: l'interfaccia I/O di unix}
\label{cha:file_unix_interface}



\section{I file descriptors}
\label{sec:fileunix_fd}


\section{Le funzioni base}
\label{sec:fileunix_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}

\subsection{La funzione \texttt{creat}}
\label{sec:fileunix_creat}

\subsection{La funzione \texttt{close}}
\label{sec:fileunix_close}

\subsection{La funzione \texttt{lseek}}
\label{sec:fileunix_lseek}

\subsection{La funzione \texttt{read}}
\label{sec:fileunix_read}

\subsection{La funzione \texttt{write}}
\label{sec:fileunix_write}

\section{La condivisione dei files}
\label{sec:fileunix_sharing}


\subsection{Operazioni atomiche}
\label{sec:fileunix_atomic}

\section{Funzioni avanzate}
\label{sec:fileunix_adv_func}

\subsection{La funzioni \texttt{dup} e \texttt{dup2}}
\label{sec:fileunix_dup}

\subsection{La funzione \texttt{fcntl}}
\label{sec:fileunix_fcntl}

\subsection{La funzione \texttt{ioctl}}
\label{sec:fileunix_ioctl}




