contempo tratteremo l'organizzazione dei file in un sistema unix-like, e le
varie caratteristiche distintive.
+
+
\section{L'organizzazione di file e directory}
\label{sec:file_organization}
directory.
Il nome completo di file generico è composto da una serie di nomi separati da
-una \texttt{/} (in Linux più \texttt{/} consecutive sono considerate
+una \file{/} (in Linux più \file{/} consecutive sono considerate
equivalenti ad una sola). Il nome completo di un file viene usualmente
chiamato \textit{pathname}, e anche se il manuale della glibc depreca questo
nome (poiché genererebbe confusione, dato che con \textit{path} si indica
indicati come directory esistano e siano effettivamente directory, inoltre i
permessi devono consentire l'accesso.
-Se il pathname comincia per \texttt{/} la ricerca parte dalla directory radice
+Se il pathname comincia per \file{/} la ricerca parte dalla directory radice
del processo; questa, a meno di un \textit{chroot} (su cui torneremo in
seguito, vedi \secref{sec:xxx_chroot}) è la stessa per tutti i processi ed
equivale alla directory radice dell'albero (come descritto in
usare l'interfaccia standard di unix coi file descriptors. Allo stesso modo
devono essere usati i file descriptor se si vuole ricorrere a modalità
speciali di I/O come il polling o il non-bloccante (vedi
-\secref{sec:file_xxx}).
+\secref{sec:file_noblocking}).
Gli stream forniscono un'interfaccia di alto livello costruita sopra quella
dei file descriptor, che tratta tutti i file nello stesso modo, con
% abbiamo brevemente accennato le caratteristiche (dal lato dell'implementazione
% nel kernel) in \secref{sec:file_vfs}.
+
\subsection{Il \textit{virtual filesystem} di Linux}
\label{sec:file_vfs}
cui si era partiti avrà un numero di riferiementi di almeno tre, in quanto
adesso sarà referenziata anche dalla voce \file{..} di \file{img}.
+
\subsection{Il filesystem \textsl{ext2}}
\label{sec:file_ext2}
L'utilizzo di raggrupamenti di blocchi ha inoltre degli effetti positivi nelle
prestazioni dato che viene ridotta la distanza fra i dati e la tabella degli
-inodes.
+inode.
Le directory sono implementate come una linked list con voci di dimensione
variabile. Ciascuna voce della lista contiene il numero di inode, la sua
-
-