analoga di quella delle voci di una directory, con la possibilità di avere più
voci che fanno riferimento allo stesso \textit{inode}. L'analogia è in realtà
molto stretta perché quando si cancella un file, il kernel verifica anche che
-non resti nessun riferimento in una una qualunque voce della \textit{file
- table} prima di liberare le risorse ad esso associate e disallocare il
-relativo \textit{inode}.
+non resti nessun riferimento in una qualunque voce della \textit{file table}
+prima di liberare le risorse ad esso associate e disallocare il relativo
+\textit{inode}.
Nelle vecchie versioni di Unix (ed anche in Linux fino al kernel 2.0.x) il
numero di file aperti era anche soggetto ad un limite massimo dato dalle
conseguente effetto sulle caratteristiche operative che controllano (torneremo
sull'argomento in sez.~\ref{sec:file_fcntl_ioctl}).
-Il flag \const{O\_ASYNC} (che, per per compatibilità con BSD, si può indicare
+Il flag \const{O\_ASYNC} (che, per compatibilità con BSD, si può indicare
anche con la costante \constd{FASYNC}) è definito come possibile valore per
\func{open}, ma per un bug dell'implementazione,\footnote{segnalato come
ancora presente nella pagina di manuale almeno fino al Settembre 2011.} non
la dimensione di un file sarà più o meno corrispondente alla quantità di
spazio disco da esso occupato, ma esistono dei casi, come questo in cui ci si
sposta in una posizione oltre la fine corrente del file, o come quello
-accennato in in sez.~\ref{sec:file_file_size} in cui si estende la dimensione
-di un file con una \func{truncate}, in cui in sostanza si modifica il valore
+accennato in sez.~\ref{sec:file_file_size} in cui si estende la dimensione di
+un file con una \func{truncate}, in cui in sostanza si modifica il valore
della dimensione di \var{st\_size} senza allocare spazio su disco. Questo
consente di creare inizialmente file di dimensioni anche molto grandi, senza
dover occupare da subito dello spazio disco che in realtà sarebbe
modifica è opportuno rileggere la nuova dimensione con
\const{F\_GETPIPE\_SZ}. I processi non privilegiati\footnote{per la
precisione occorre la capacità \const{CAP\_SYS\_RESOURCE}.} non possono
- impostare un valore valore superiore a quello indicato da
+ impostare un valore superiore a quello indicato da
\sysctlfiled{fs/pipe-size-max}. Il comando è specifico di Linux, è
disponibile solo a partire dal kernel 2.6.35, ed è utilizzabile solo se si è
definita la macro \macro{\_GNU\_SOURCE}.
Una delle caratteristiche più utili dell'interfaccia degli \textit{stream} è
la ricchezza delle funzioni disponibili per le operazioni di lettura e
-scrittura sui file. Sono infatti previste ben tre diverse modalità modalità di
+scrittura sui file. Sono infatti previste ben tre diverse modalità di
input/output non formattato:
\begin{itemize}
\item\textsl{binario} in cui si leggono e scrivono blocchi di dati di