4d9daef3e2bb12057b9dba6e1a20ced630b09426
[gapil.git] / fileunix.tex
1 \chapter{I files: l'interfaccia I/O di unix}
2 \label{cha:file_unix_interface}
3
4
5 Esamineremo in questo capitolo la prima delle due interfacce di programmazione
6 per i file, quella dei file descriptor, nativa di unix.
7
8
9
10 \section{I file descriptors}
11 \label{sec:fileunix_fd}
12
13
14 Per poter accedere al contenuto dei file occorre anzitutto aprirlo. Questo
15 crea un canale di comunicazione che permette di eseguire una serie di
16 operazioni. Una volta terminate le operazioni, il file dovrà essere chiuso, e
17 questo chiuderà il canale di comunicazione impedendo ogni ulteriore
18 operazione.
19
20 \section{Le funzioni base}
21 \label{sec:fileunix_base_func}
22
23 L'interfaccia standard unix per l'input/output sui file è su cinque funzioni
24 \texttt{open}, \texttt{read}, \texttt{write}, \texttt{lseek}, \texttt{close}
25
26
27 \subsection{La funzione \texttt{open}}
28 \label{sec:fileunix_open}
29
30 \subsection{La funzione \texttt{creat}}
31 \label{sec:fileunix_creat}
32
33 \subsection{La funzione \texttt{close}}
34 \label{sec:fileunix_close}
35
36 \subsection{La funzione \texttt{lseek}}
37 \label{sec:fileunix_lseek}
38
39 \subsection{La funzione \texttt{read}}
40 \label{sec:fileunix_read}
41
42 \subsection{La funzione \texttt{write}}
43 \label{sec:fileunix_write}
44
45 \section{La condivisione dei files}
46 \label{sec:fileunix_sharing}
47
48
49 \subsection{Operazioni atomiche}
50 \label{sec:fileunix_atomic}
51
52 \section{Funzioni avanzate}
53 \label{sec:fileunix_adv_func}
54
55 \subsection{La funzioni \texttt{dup} e \texttt{dup2}}
56 \label{sec:fileunix_dup}
57
58 \subsection{La funzione \texttt{fcntl}}
59 \label{sec:fileunix_fcntl}
60
61 \subsection{La funzione \texttt{ioctl}}
62 \label{sec:fileunix_ioctl}
63
64
65
66