Aggiunte seteuid, setreuid, setresuid
[gapil.git] / fileunix.tex
index 2aeda784b8de5e9eaab35bff174923d18572a019..4964298bb9861361a2af22366a0e2f86c242d742 100644 (file)
@@ -1,55 +1,74 @@
 \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. 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{I file descriptors}
-\label{sec:fileunix_fd}
 
+\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 
+
+
+\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
+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}
+\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}