Aggiunte descrizioni di vari segnali
[gapil.git] / fileintro.tex
index a7df9939b1089dcc33a5f2889978a390bfd5252f..85098c865e948438193276b67debd89c4ae5a85a 100644 (file)
@@ -125,15 +125,15 @@ questa sia la directory radice allora il riferimento 
 \label{sec:fileintr_file_types}
 
 Come detto in precedenza in unix esistono vari tipi di file, in Linux questi
-sono implementati come oggetti del \textit{Virtual File System} e sono
-presenti in tutti i filesystem unix-like utilizzabili con Linux. L'elenco dei
-vari tipi di file definiti dal Virtual File System è riportato in \ntab.
+sono implementati come oggetti del \textit{Virtual File System} (vedi
+\secref{sec:fileintro_vfs}) e sono presenti in tutti i filesystem unix-like
+utilizzabili con Linux. L'elenco dei vari tipi di file definiti dal Virtual
+File System è riportato in \ntab.
 
 Si tenga ben presente che questa classificazione non ha nulla a che fare con
 la classificazione sui tipi di file (che in questo caso sono sempre file di
 dati) in base al loro contenuto, o tipo di accesso.
 
 \begin{table}[htb]
   \begin{center}
     \begin{tabular}[c]{l l p{7cm}}
@@ -301,9 +301,9 @@ un filesystem unix. In particolare occorre tenere presente dov'
 la divisione fondamentale fra kernel space e user space che tracciavamo al
 \capref{cha:intro_unix}.
 
-In questa sezione esamineremo allora come viene implementato l'accesso ai
-files in Linux, come il kernel gestisce i vari filesystem, descrivendo poi in
-maniera un po' più dettagliata il filesystem standard di Linux,
+In questa sezione esamineremo come viene implementato l'accesso ai files in
+Linux, come il kernel può gestire diversi tipi di filesystem, descrivendo
+poi in maniera un po' più dettagliata il filesystem standard di Linux,
 l'\texttt{ext2}, come esempio di un filesystem unix-like.
 
 
@@ -322,7 +322,7 @@ l'\texttt{ext2}, come esempio di un filesystem unix-like.
 % \textit{inode}, \textit{dentry}, \textit{dcache}.
 
 In Linux il concetto di \textit{everything is a file} è stato implementato
-attraverso il \textit{virtual filesystem} (da qui in avanti VFS) che è
+attraverso il \textit{Virtual File System} (da qui in avanti VFS) che è
 l'interfaccia che il kernel rende disponibile ai programmi in user space
 attraverso la quale vengono manipolati i files; esso provvede un livello di
 indirezione che permette di collegare le operazioni di manipolazione sui files
@@ -333,8 +333,8 @@ di filesystem differenti all'interno dello stesso albero delle directory
 Quando un processo esegue una system call che opera su un file il kernel
 chiama sempre una funzione implementata nel VFS; la funzione eseguirà le
 manipolazioni sulle strutture generiche e ridirigendo la chiamata alla
-opportune routine del filesystem specifico a cui si fa riferimento, saranno
-queste a chiamare le funzioni di piu basso livello che eseguono le operazioni
+opportune routine del filesystem specifico a cui si fa riferimento. Saranno
+queste a chiamare le funzioni di più basso livello che eseguono le operazioni
 di I/O sul dispositivo fisico, secondo lo schema riportato in \nfig.
 
 \begin{figure}[htb]
@@ -344,6 +344,14 @@ di I/O sul dispositivo fisico, secondo lo schema riportato in \nfig.
   \label{fig:fileintro_VFS_scheme}
 \end{figure}
 
+Il VFS definisce un insieme di funzioni che tutti i filesystem devono
+implementare, queste funzioni 
+
+
+
+\subsection{Il funzionamento del VFS}
+\label{sec:fileintr_vfs_work}
+
 La funzione più importante implementata dal VFS è la system call \texttt{open}
 che permette di aprire un file. Dato un pathname viene eseguita una ricerca
 dentro la \textit{directory entry cache} (in breve \textit{dcache}),