-regioni aggiunte o tolte.
-
-Si tenga presente che non tutti i file possono venire mappati in memoria; ad
-esempio non è possibile mappare in memoria pipe, socket e fifo; lo stesso vale
-anche per alcuni file di dispositivo, che non dispongono dell'operazione
-relativa \var{mmap} (si ricordi quanto esposto in \secref{sec:file_vfs_work}).
-
-La memoria mappata viene mantenuta attraverso una \func{fork}; con gli stessi
-attributi. In particolare se la memoria è condivisa lo sarà anche fra padre e
-figlio, se è privata ognuno di essi manterrà una sua versione privata. Non c'è
-invece nessun passaggio attraverso una \func{exec}, dato che quest'ultima
-sostituisce tutto lo spazio degli indirizzo con quello del nuovo programma.
-
-Quando si effettua una mappatura di un file, i relativi tempi (vedi
-\secref{sec:file_file_times}) vengono pure modificati. Il valore di
-\var{st\_atime} può venir cambiato in un qualunque momento in cui la mappatura
-sia attiva: il primo riferimento ad una pagina mappata aggiorna questo tempo.
-I valori di \var{st\_ctime} e \var{st\_mtime} vengono cambiati solo quando è
-possibile una scrittura (cioè per un file mappato con \macro{PROT\_WRITE} e
-\macro{MAP\_SHARED}) e sono aggiornati dopo la scrittura e prima di una
-eventuale \func{msync}.
+regioni aggiunte o tolte.
+
+Si tenga presente che non tutti i file possono venire mappati in memoria, la
+mappatura infatti introduce una corrispondenza biunivoca fra una sezione di un
+file ed una sezione di memoria, pertanto si può parlare tanto di file mappato
+in memoria, quanto di memoria mappata su file. Questo comporta che ad esempio
+non è possibile mappare in memoria pipe, socket e fifo, per le quali non ha
+senso parlare di \textsl{sezione}. Lo stesso vale anche per alcuni file di
+dispositivo, che non dispongono della relativa operazione \var{mmap} (si
+ricordi quanto esposto in \secref{sec:file_vfs_work}), ma esistono anche casi
+(un esempio è l'interfaccia ponte PCI-VME del chip Universe) di dispositivi
+che sono utilizzabili praticamente solo con questa interfaccia.
+
+Passando attraverso una \func{fork} i file mappati in memoria vengono
+ereditati in maniera trasparente dal processo figlio, mantenendo gli stessi
+attributi avuti nel padre; così se si è usato \macro{MAP\_SHARED} padre e
+figlio accederanno allo stesso file in maniera condivisa, mentre se si è usato
+\macro{MAP\_PRIVATE} ciascuno di essi manterrà una sua versione privata
+indipendente. Non c'è invece nessun passaggio attraverso una \func{exec}, dato
+che quest'ultima sostituisce tutto lo spazio degli indirizzi di un processo
+con quello di un nuovo programma.
+
+Quando si effettua la mappatura di un file vengono pure modificati i tempi ad
+esso associati (si ricordi quanto esposto in \secref{sec:file_file_times}). Il
+valore di \var{st\_atime} può venir cambiato in qualunque istante a partire
+dal momento in cui la mappatura è stata effettuata: il primo riferimento ad
+una pagina mappata su un file aggiorna questo tempo. I valori di
+\var{st\_ctime} e \var{st\_mtime} possono venir cambiati solo quando si è
+consentita la scrittura sul file (cioè per un file mappato con
+\macro{PROT\_WRITE} e \macro{MAP\_SHARED}) e sono aggiornati dopo la scrittura
+o in corrispondenza di una eventuale \func{msync}.