Un file può essere indicato rispetto alla directory corrente semplicemente
specificandone il nome\footnote{Il manuale delle \acr{glibc} chiama i nomi
-contenuti nelle directory \textsl{componenti} (in inglese \textit{file name
-components}), noi li chiameremo più semplicemente \textsl{nomi} o
-\textsl{voci}.} da essa contenuto. All'interno dello stesso albero si
+ contenuti nelle directory \textsl{componenti} (in inglese \textit{file name
+ components}), noi li chiameremo più semplicemente \textsl{nomi} o
+ \textsl{voci}.} da essa contenuto. All'interno dello stesso albero si
potranno poi inserire anche tutti gli altri oggetti visti attraverso
-l'interfaccia che manipola i file come le fifo, i link, i socket\index{socket}
-e gli stessi file di dispositivo \index{file!di~dispositivo} (questi ultimi,
-per convenzione, sono inseriti nella directory \file{/dev}).
+l'interfaccia che manipola i file come le fifo, i link, i socket e gli stessi
+file di dispositivo \index{file!di~dispositivo} (questi ultimi, per
+convenzione, sono inseriti nella directory \file{/dev}).
Il nome completo di un file viene chiamato \textit{pathname} ed il
procedimento con cui si individua il file a cui esso fa riferimento è chiamato
base al loro contenuto, o tipo di accesso. Essa riguarda invece il tipo di
oggetti; in particolare è da notare la presenza dei cosiddetti file speciali.
Alcuni di essi, come le \textit{fifo} (che tratteremo in
-sez.~\ref{sec:ipc_named_pipe}) ed i \textit{socket}\index{socket} (che
-tratteremo in cap.~\ref{cha:socket_intro}) non sono altro che dei riferimenti
-per utilizzare delle funzionalità di comunicazione fornite dal kernel. Gli
-altri sono i \textsl{file di dispositivo}\index{file!di~dispositivo} (o
-\textit{device file}) che costituiscono una interfaccia diretta per leggere e
-scrivere sui dispositivi fisici; essi vengono suddivisi in due grandi
-categorie, \textsl{a blocchi} e \textsl{a caratteri} a seconda delle modalità
-in cui il dispositivo sottostante effettua le operazioni di I/O.\footnote{in
- sostanza i dispositivi a blocchi (ad esempio i dischi) corrispondono a
- periferiche per le quali è richiesto che l'I/O venga effettuato per blocchi
- di dati di dimensioni fissate (ad esempio le dimensioni di un settore),
- mentre nei dispositivi a caratteri l'I/O viene effettuato senza nessuna
- particolare struttura.}
+sez.~\ref{sec:ipc_named_pipe}) ed i \textit{socket} (che tratteremo in
+cap.~\ref{cha:socket_intro}) non sono altro che dei riferimenti per utilizzare
+delle funzionalità di comunicazione fornite dal kernel. Gli altri sono i
+\textsl{file di dispositivo} \index{file!di~dispositivo} (o \textit{device
+ file}) che costituiscono una interfaccia diretta per leggere e scrivere sui
+dispositivi fisici; essi vengono suddivisi in due grandi categorie, \textsl{a
+ blocchi} e \textsl{a caratteri} a seconda delle modalità in cui il
+dispositivo sottostante effettua le operazioni di I/O.\footnote{in sostanza i
+ dispositivi a blocchi (ad esempio i dischi) corrispondono a periferiche per
+ le quali è richiesto che l'I/O venga effettuato per blocchi di dati di
+ dimensioni fissate (ad esempio le dimensioni di un settore), mentre nei
+ dispositivi a caratteri l'I/O viene effettuato senza nessuna particolare
+ struttura.}
\begin{table}[htb]
\footnotesize
\textit{fifo} & ``\textsl{coda}'' &
un file speciale che identifica una linea di comunicazione software
unidirezionale (vedi sez.~\ref{sec:ipc_named_pipe}).\\
- \textit{socket}\index{socket} & ``\textsl{presa}''&
+ \textit{socket} & ``\textsl{presa}''&
un file speciale che identifica una linea di comunicazione software
bidirezionale (vedi cap.~\ref{cha:socket_intro}) \\
\hline
\file{stdio.h}.
Entrambe le interfacce possono essere usate per l'accesso ai file come agli
-altri oggetti del VFS (fifo, socket\index{socket}, device, sui quali torneremo
-in dettaglio a tempo opportuno), ma per poter accedere alle operazioni di
+altri oggetti del VFS (fifo, socket, dispositivi, sui quali torneremo in
+dettaglio a tempo opportuno), ma per poter accedere alle operazioni di
controllo (descritte in sez.~\ref{sec:file_fcntl} e sez.~\ref{sec:file_ioctl})
su un qualunque tipo di oggetto del VFS occorre usare l'interfaccia standard
di Unix con i \textit{file descriptor}. Allo stesso modo devono essere usati i
-\textit{file descriptor}\index{file!descriptor} se si vuole ricorrere a
+\textit{file descriptor} \index{file!descriptor} se si vuole ricorrere a
modalità speciali di I/O come il \textit{file locking}\index{file!locking} o
l'I/O non-bloccante (vedi cap.~\ref{cha:file_advanced}).
caratteri) senza sprecare spazio disco.
-
-
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "gapil"
%%% End:
+
+% LocalWords: everything is device kernel filesystem sez pathname root glibc
+% LocalWords: path filename bootloader proc name components fifo socket dev LF
+% LocalWords: resolution chroot parent Virtual System like tab cap l'I regular
+% LocalWords: inode symbolic char block VFS VMS Windows dell'I raw access Mac
+% LocalWords: CR dos HFS l'XFS SGI magic number descriptor system call int ext
+% LocalWords: nell'header unistd stream dall'ANSI stdio locking POSIX fig type
+% LocalWords: register superblock dell'inode stat entry cache dcache dentry ln
+% LocalWords: l'inode lookup ops read write llseek ioctl readdir poll nell'I
+% LocalWords: multiplexing mmap fsync fasync seek MacOs group dall' dell' img
+% LocalWords: count unlink nell' rename gapil second Tb attributes BSD SVr gid
+% LocalWords: sgid append only log fs linux extented linked list