Lavoro in treno di domenica scorsa
[gapil.git] / fileadv.tex
index bb1df38d03c8114448eead5d32e4287929657437..b4f35d9c3df66cbc5ba2e6ff2a84304ffb102272 100644 (file)
@@ -1612,7 +1612,7 @@ quest'ultima serve sia in ingresso (quando usata con \func{epoll\_ctl}) ad
 impostare quali eventi osservare, che in uscita (nei risultati ottenuti con
 \func{epoll\_wait}) per ricevere le notifiche degli eventi avvenuti.  La sua
 definizione è riportata in fig.~\ref{fig:epoll_event}. 
+
 Il primo campo, \var{events}, è una maschera binaria in cui ciascun bit
 corrisponde o ad un tipo di evento, o una modalità di notifica; detto campo
 deve essere specificato come OR aritmetico delle costanti riportate in
@@ -3040,11 +3040,11 @@ rispetto a quella classica vista in cap.~\ref{cha:file_unix_interface}, 
 cosiddetto \textit{memory-mapped I/O}, che, attraverso il meccanismo della
 \textsl{paginazione} \index{paginazione} usato dalla memoria virtuale (vedi
 sez.~\ref{sec:proc_mem_gen}), permette di \textsl{mappare} il contenuto di un
-file in una sezione dello spazio di indirizzi del processo
- che lo ha allocato
+file in una sezione dello spazio di indirizzi del processo che lo ha allocato.
+
 \begin{figure}[htb]
   \centering
-  \includegraphics[width=12cm]{img/mmap_layout}
+  \includegraphics[width=14cm]{img/mmap_layout}
   \caption{Disposizione della memoria di un processo quando si esegue la
   mappatura in memoria di un file.}
   \label{fig:file_mmap_layout}
@@ -3229,7 +3229,7 @@ tab.~\ref{tab:file_mmap_flag}.
                              ignorati.\footnotemark\\
     \const{MAP\_ANON}      & Sinonimo di \const{MAP\_ANONYMOUS}, deprecato.\\
     \const{MAP\_FILE}      & Valore di compatibilità, ignorato.\\
-    \const{MAP\_32BIT}     & Esegue la mappatura sui primi 2GiB dello spazio
+    \const{MAP\_32BIT}     & Esegue la mappatura sui primi 2Gb dello spazio
                              degli indirizzi, viene supportato solo sulle
                              piattaforme \texttt{x86-64} per compatibilità con
                              le applicazioni a 32 bit. Viene ignorato se si è
@@ -3248,6 +3248,17 @@ tab.~\ref{tab:file_mmap_flag}.
   \label{tab:file_mmap_flag}
 \end{table}
 
+\footnotetext[68]{dato che tutti faranno riferimento alle stesse pagine di
+  memoria.}  
+
+\footnotetext[69]{l'uso di questo flag con \const{MAP\_SHARED} è stato
+  implementato in Linux a partire dai kernel della serie 2.4.x; esso consente
+  di creare segmenti di memoria condivisa e torneremo sul suo utilizzo in
+  sez.~\ref{sec:ipc_mmap_anonymous}.}
+
+\footnotetext{questo flag ed il precedente \const{MAP\_POPULATE} sono stati
+  introdotti nel kernel 2.5.46 insieme alla mappatura non lineare di cui
+  parleremo più avanti.}
 
 Gli effetti dell'accesso ad una zona di memoria mappata su file possono essere
 piuttosto complessi, essi si possono comprendere solo tenendo presente che
@@ -3262,32 +3273,19 @@ tipo di accesso.
 regione di cui si è richiesta la mappatura. A prima vista infatti si potrebbe
 ritenere che anch'essi debbano generare un segnale di violazione di accesso;
 questo però non tiene conto del fatto che, essendo basata sul meccanismo della
-paginazione \index{paginazione}, la mappatura in memoria non può che essere
+\index{paginazione} paginazione, la mappatura in memoria non può che essere
 eseguita su un segmento di dimensioni rigorosamente multiple di quelle di una
 pagina, ed in generale queste potranno non corrispondere alle dimensioni
 effettive del file o della sezione che si vuole mappare.
 
-\footnotetext[68]{dato che tutti faranno riferimento alle stesse pagine di
-  memoria.}  
-
-\footnotetext[69]{l'uso di questo flag con \const{MAP\_SHARED} è stato
-  implementato in Linux a partire dai kernel della serie 2.4.x; esso consente
-  di creare segmenti di memoria condivisa e torneremo sul suo utilizzo in
-  sez.~\ref{sec:ipc_mmap_anonymous}.}
-
-\footnotetext{questo flag ed il precedente \const{MAP\_POPULATE} sono stati
-  introdotti nel kernel 2.5.46 insieme alla mappatura non lineare di cui
-  parleremo più avanti.}
-
 \begin{figure}[!htb] 
   \centering
-  \includegraphics[height=6cm]{img/mmap_boundary}
+  \includegraphics[height=6.5cm]{img/mmap_boundary}
   \caption{Schema della mappatura in memoria di una sezione di file di
     dimensioni non corrispondenti al bordo di una pagina.}
   \label{fig:file_mmap_boundary}
 \end{figure}
 
-
 Il caso più comune è quello illustrato in fig.~\ref{fig:file_mmap_boundary},
 in cui la sezione di file non rientra nei confini di una pagina: in tal caso
 verrà il file sarà mappato su un segmento di memoria che si estende fino al