-il filesystem contenuto in \param{source}. Di norma questo è un file di
-dispositivo che fa riferimento al disco (o al device a blocchi) che deve
-essere montato, ma può anche essere un file normale che contiene un
-filesystem, (che può essere montato \textit{in loopback}) o anche una
-directory. Dal kernel 2.4.x infatti è divenuto possibile sia spostare
-atomicamente un \textit{mount point} da una directory ad un'altra, che montare
-in più punti lo stesso filesystem.
-
-Con \param{filesystemtype} si indica il tipo di filesystem (che
-deve essere supportato dal kernel) indicato dalla stringa che lo identifica
-(che per quelli supportati è mantenuta in \file{/proc/filesystems}).
-
-Il parametro \param{mountflags} serve invece per specificare le opzioni di
-montaggio, esso è passato come intero a 32 bit i cui 16 più significativi
-devono essere \code{0xC0ED} mentre i 16 meno significativi costituiscono una
-maschera specificabile con un and binario dei valori riportati in \ntab.
+il filesystem contenuto in \param{source}. In generale un filesystem è
+contenuto su un disco, e l'operazione di montaggio corrisponde a rendere
+visibile al sistema il contenuto del suddetto disco, identificato attraverso
+il file di dispositivo ad esso associato.
+
+Ma la struttura del virtual filesystem vista in \secref{sec:file_vfs} è molto
+più flessibile e può essere usata anche per oggetti diversi da un disco. Ad
+esempio usando il \textit{loop device} si può montare un file qualunque (come
+l'immagine di un CD-ROM o di un floppy) che contiene un filesystem, inoltre
+alcuni filesystem, come \file{proc} o \file{devfs} sono del tutto virtuali, i
+loro dati sono generati al volo ad ogni lettura, e passati al kernel ad ogni
+scrittura.
+
+Il tipo di filesystem è specificato da \param{filesystemtype}, che deve essere
+una delle stringhe riportate in \file{/proc/filesystems}, che contiene
+l'elenco dei filesystem supportati dal kernel; nel caso si sia indicato uno
+dei filesystem virtuali, il contenuto di \param{source} viene ignorato.
+
+Dopo l'esecuzione della funzione il contenuto del filesystem viene resto
+disponibile nella directory specificata come \textit{mount point}, il
+precedente contenuto di detta directory viene mascherato dal contenuto della
+directory radice del filesystem montato.
+
+Dal kernel 2.4.x inoltre è divenuto possibile sia spostare atomicamente un
+\textit{mount point} da una directory ad un'altra, che montare in diversi
+\textit{mount point} lo stesso filesystem, che montare più filesystem sullo
+stesso \textit{mount point} (nel qual caso vale quanto appena detto, e solo il
+contenuto dell'ultimo filesystem montato sarà visibile).
+
+Ciascun filesystem è dotato di caratteristiche specifiche che possono essere
+attivate o meno, alcune di queste sono generali (anche se non è detto siano
+disponibili in ogni filesystem), e vengono specificate come opzioni di
+montaggio con l'argomento \param{mountflags}.
+
+In Linux \param{mountflags} deve essere un intero a 32 bit i cui 16 più
+significativi sono un \textit{magic number}\footnote{cioè un numero speciale
+ usato come identificativo, che nel caso è \code{0xC0ED}; si può usare la
+ costante \macro{MS\_MGC\_MSK} per ottenere la parte di \param{mountflags}
+ riservata al \textit{magic number}.} mentre i 16 meno significativi sono
+usati per specificare le opzioni; essi sono usati come maschera binaria e
+vanno settati con un OR aritmetico della costante \macro{MS\_MGC\_VAL} con i
+valori riportati in \ntab.