Correzioni per le footnote e scritta altra roba sui segnali (finite kill e
[gapil.git] / filedir.tex
index efeb41c6575d712e6fd92969dcade858c956ae13..d7cfa6f9c77cb87f4a051ff65bdb44b89bc738d1 100644 (file)
@@ -151,7 +151,7 @@ singola system call.
 Si ricordi infine che il file non viene eliminato dal disco fintanto che tutti
 i riferimenti ad esso sono stati cancellati, solo quando il \textit{link
   count} mantenuto nell'inode diventa zero lo spazio occupato viene rimosso. A
 Si ricordi infine che il file non viene eliminato dal disco fintanto che tutti
 i riferimenti ad esso sono stati cancellati, solo quando il \textit{link
   count} mantenuto nell'inode diventa zero lo spazio occupato viene rimosso. A
-questo però si aggiunge unaltra condizione, e cioè che non ci siano processi
+questo però si aggiunge un'altra condizione, e cioè che non ci siano processi
 che abbiano detto file aperto.  
 
 Questa proprietà viene spesso usata per essere sicuri di non lasciare file
 che abbiano detto file aperto.  
 
 Questa proprietà viene spesso usata per essere sicuri di non lasciare file
@@ -185,9 +185,9 @@ directory 
 \end{prototype}
 
 Per cambiare nome ad un file o a una directory (che devono comunque essere
 \end{prototype}
 
 Per cambiare nome ad un file o a una directory (che devono comunque essere
-nello stesso filesystem) si usa invece la funzione \func{rename}\footnote{la
+nello stesso filesystem) si usa invece la funzione \func{rename},\footnote{la
   funzione è definita dallo standard ANSI C solo per i file, POSIX estende la
   funzione è definita dallo standard ANSI C solo per i file, POSIX estende la
-  funzione anche alle directory}, il cui prototipo è:
+  funzione anche alle directory.} il cui prototipo è:
 \begin{prototype}{stdio.h}
   {int rename(const char *oldpath, const char *newpath)} 
   
 \begin{prototype}{stdio.h}
   {int rename(const char *oldpath, const char *newpath)} 
   
@@ -248,7 +248,7 @@ eseguita.
 
 In ogni caso se \var{newpath} esiste e l'operazione fallisce per un qualche
 motivo (come un crash del kernel), \func{rename} garantisce di lasciare
 
 In ogni caso se \var{newpath} esiste e l'operazione fallisce per un qualche
 motivo (come un crash del kernel), \func{rename} garantisce di lasciare
-presente unistanza di \var{newpath}. Tuttavia nella sovrascrittura potrà
+presente un'istanza di \var{newpath}. Tuttavia nella sovrascrittura potrà
 esistere una finestra in cui sia \var{oldpath} che \var{newpath} fanno
 riferimento allo stesso file.
 
 esistere una finestra in cui sia \var{oldpath} che \var{newpath} fanno
 riferimento allo stesso file.
 
@@ -387,13 +387,13 @@ stringa con un carattere nullo e la tronca alla dimensione specificata da
 Un caso comune che si può avere con i link simbolici è la creazione dei
 cosiddetti \textit{loop}. La situazione è illustrata in \curfig, che riporta
 la struttura della directory \file{/boot}. Come si vede si è creato al suo
 Un caso comune che si può avere con i link simbolici è la creazione dei
 cosiddetti \textit{loop}. La situazione è illustrata in \curfig, che riporta
 la struttura della directory \file{/boot}. Come si vede si è creato al suo
-interno un link simbolico che punta di nuovo a \file{/boot}\footnote{Questo
+interno un link simbolico che punta di nuovo a \file{/boot}.\footnote{Questo
   tipo di loop è stato effettuato per poter permettere a \cmd{grub} (un
   bootloader in grado di leggere direttamente da vari filesystem il file da
   lanciare come sistema operativo) di vedere i file in questa directory con lo
   stesso path con cui verrebbero visti dal sistema operativo, anche se essi si
   trovano, come è solito, su una partizione separata (e che \cmd{grub}
   tipo di loop è stato effettuato per poter permettere a \cmd{grub} (un
   bootloader in grado di leggere direttamente da vari filesystem il file da
   lanciare come sistema operativo) di vedere i file in questa directory con lo
   stesso path con cui verrebbero visti dal sistema operativo, anche se essi si
   trovano, come è solito, su una partizione separata (e che \cmd{grub}
-  vedrebbe come radice).}.
+  vedrebbe come radice).}
 
 Questo può causare problemi per tutti quei programmi che effettuano la
 scansione di una directory senza tener conto dei link simbolici, ad esempio se
 
 Questo può causare problemi per tutti quei programmi che effettuano la
 scansione di una directory senza tener conto dei link simbolici, ad esempio se
@@ -422,7 +422,7 @@ quanto aprendo in scrittura \file{temporaneo} verr
 $ cat temporaneo
 cat: temporaneo: No such file or directory
 \end{verbatim}%$
 $ cat temporaneo
 cat: temporaneo: No such file or directory
 \end{verbatim}%$
-con un errore che può sembrare sbagliato, dato che unispezione con \cmd{ls}
+con un errore che può sembrare sbagliato, dato che un'ispezione con \cmd{ls}
 ci mostrerebbe invece l'esistenza di \file{temporaneo}.
 
 
 ci mostrerebbe invece l'esistenza di \file{temporaneo}.
 
 
@@ -597,7 +597,7 @@ Per accedere al contenuto delle directory si usano i cosiddetti
 \capref{cha:files_std_interface}); la funzione \func{opendir} apre uno di
 questi stream e la funzione \func{readdir} legge il contenuto della directory,
 i cui elementi sono le \textit{directory entry} (da distinguersi da quelle
 \capref{cha:files_std_interface}); la funzione \func{opendir} apre uno di
 questi stream e la funzione \func{readdir} legge il contenuto della directory,
 i cui elementi sono le \textit{directory entry} (da distinguersi da quelle
-della cache di cui parlavamo in \secref{sec:file_vfs}) in unopportuna
+della cache di cui parlavamo in \secref{sec:file_vfs}) in un'opportuna
 struttura \var{struct dirent}.
 
 (NdA Il resto va scritto!!! É noioso e lo farò più avanti).
 struttura \var{struct dirent}.
 
 (NdA Il resto va scritto!!! É noioso e lo farò più avanti).
@@ -644,8 +644,8 @@ apposita funzione di libreria,  \func{getcwd}, il cui prototipo 
 Il buffer deve essere sufficientemente lungo da poter contenere il pathname
 completo più lo zero di terminazione della stringa. Qualora esso ecceda le
 dimensioni specificate con \var{size} la funzione restituisce un errore.  Si
 Il buffer deve essere sufficientemente lungo da poter contenere il pathname
 completo più lo zero di terminazione della stringa. Qualora esso ecceda le
 dimensioni specificate con \var{size} la funzione restituisce un errore.  Si
-può anche specificare un puntatore nullo come \var{buffer}\footnote{questa è
-  una estensione allo standard POSIX.1, supportata da Linux}, nel qual caso la
+può anche specificare un puntatore nullo come \var{buffer},\footnote{questa è
+  un'estensione allo standard POSIX.1, supportata da Linux.} nel qual caso la
 stringa sarà allocata automaticamente per una dimensione pari a \var{size}
 qualora questa sia diversa da zero, o della lunghezza esatta del pathname
 altrimenti. In questo caso ci si deve ricordare di disallocare la stringa una
 stringa sarà allocata automaticamente per una dimensione pari a \var{size}
 qualora questa sia diversa da zero, o della lunghezza esatta del pathname
 altrimenti. In questo caso ci si deve ricordare di disallocare la stringa una
@@ -998,7 +998,7 @@ Il primo valore dell'elenco di \secref{tab:file_mode_flags} 
 binaria che permette di estrarre i bit nei quali viene memorizzato il tipo di
 file, i valori successivi sono le costanti corrispondenti ai singoli bit, e
 possono essere usati per effettuare la selezione sul tipo di file voluto, con
 binaria che permette di estrarre i bit nei quali viene memorizzato il tipo di
 file, i valori successivi sono le costanti corrispondenti ai singoli bit, e
 possono essere usati per effettuare la selezione sul tipo di file voluto, con
-unopportuna combinazione.
+un'opportuna combinazione.
 
 \begin{table}[htb]
   \centering
 
 \begin{table}[htb]
   \centering
@@ -1182,7 +1182,7 @@ essere capiti se si tiene conto di quanto gi
 directory sono file (che contengono una lista di nomi) che il sistema tratta
 in maniera del tutto analoga a tutti gli altri.
 
 directory sono file (che contengono una lista di nomi) che il sistema tratta
 in maniera del tutto analoga a tutti gli altri.
 
-Per questo motivo tutte le volte che compiremo unoperazione su un file che
+Per questo motivo tutte le volte che compiremo un'operazione su un file che
 comporta una modifica del nome contenuto nella directory, andremo anche a
 scrivere sulla directory che lo contiene cambiandone il tempo di modifica. Un
 esempio di questo può essere la cancellazione di un file, invece leggere o
 comporta una modifica del nome contenuto nella directory, andremo anche a
 scrivere sulla directory che lo contiene cambiandone il tempo di modifica. Un
 esempio di questo può essere la cancellazione di un file, invece leggere o
@@ -1343,7 +1343,7 @@ Esistono varie estensioni a questo modello,\footnote{come le \textit{Access
     Control List} che possono essere aggiunte al filesystem standard con
   opportune patch, e sono presenti in filesystem non ancora inclusi nel kernel
   ufficiale come \textsl{xfs}, o meccanismi di controllo ancora più
     Control List} che possono essere aggiunte al filesystem standard con
   opportune patch, e sono presenti in filesystem non ancora inclusi nel kernel
   ufficiale come \textsl{xfs}, o meccanismi di controllo ancora più
-  sofisticati come il \textit{mandatory access control} di SE-Linux} ma nella
+  sofisticati come il \textit{mandatory access control} di SE-Linux.} ma nella
 maggior parte dei casi il meccanismo standard è più che sufficiente a
 soffisfare tutte le necessità più comuni.  I tre permessi di base associati ad
 ogni file sono:
 maggior parte dei casi il meccanismo standard è più che sufficiente a
 soffisfare tutte le necessità più comuni.  I tre permessi di base associati ad
 ogni file sono:
@@ -1601,9 +1601,9 @@ Le attuali implementazioni di memoria virtuale e filesystem rendono
 sostanzialmente inutile questo procedimento.
 
 Benché ormai non venga più utilizzato per i file, lo \textsl{sticky bit} ha
 sostanzialmente inutile questo procedimento.
 
 Benché ormai non venga più utilizzato per i file, lo \textsl{sticky bit} ha
-invece assunto un uso importante per le directory\footnote{lo \textsl{sticky
-    bit} per le directory è unestensione non definita nello standard POSIX,
-  Linux però la supporta, così come BSD e SVR4.}; in questo caso se il bit è
+invece assunto un uso importante per le directory;\footnote{lo \textsl{sticky
+    bit} per le directory è un'estensione non definita nello standard POSIX,
+  Linux però la supporta, così come BSD e SVR4.} in questo caso se il bit è
 settato un file potrà essere rimosso dalla directory soltanto se l'utente ha
 il permesso di scrittura su di essa ed inoltre è vera una delle seguenti
 condizioni:
 settato un file potrà essere rimosso dalla directory soltanto se l'utente ha
 il permesso di scrittura su di essa ed inoltre è vera una delle seguenti
 condizioni:
@@ -1818,7 +1818,7 @@ misura di sicurezza, volta ad scongiurare l'abuso dei bit \acr{suid} e
 \acr{sgid}; essa consiste nel cancellare automaticamente questi bit qualora un
 processo che non appartenga all'amministratore scriva su un file. In questo
 modo anche se un utente malizioso scopre un file \acr{suid} su cui può
 \acr{sgid}; essa consiste nel cancellare automaticamente questi bit qualora un
 processo che non appartenga all'amministratore scriva su un file. In questo
 modo anche se un utente malizioso scopre un file \acr{suid} su cui può
-scrivere, uneventuale modifica comporterà la perdita di ogni ulteriore
+scrivere, un'eventuale modifica comporterà la perdita di ogni ulteriore
 privilegio.
 
 \subsection{La funzione \func{umask}}
 privilegio.
 
 \subsection{La funzione \func{umask}}
@@ -1839,7 +1839,7 @@ funzione \func{umask}, il cui prototipo 
 
 Questa maschera è una caratteristica di ogni processo\footnote{è infatti
   contenuta nel campo \var{umask} di \var{fs\_struct}, vedi
 
 Questa maschera è una caratteristica di ogni processo\footnote{è infatti
   contenuta nel campo \var{umask} di \var{fs\_struct}, vedi
-  \figref{fig:proc_task_struct}} e viene utilizzata per impedire che alcuni
+  \figref{fig:proc_task_struct}.} e viene utilizzata per impedire che alcuni
 permessi possano essere assegnati ai nuovi file in sede di creazione. I bit
 indicati nella maschera vengono infatti esclusi quando un nuovo file viene
 creato.
 permessi possano essere assegnati ai nuovi file in sede di creazione. I bit
 indicati nella maschera vengono infatti esclusi quando un nuovo file viene
 creato.
@@ -1901,10 +1901,10 @@ in link simbolico si deve usare la funzione \func{lchown}.\footnote{fino alla
   versione 2.1.81 in Linux \func{chown} non seguiva i link simbolici, da
   allora questo comportamento è stato assegnato alla funzione \func{lchown},
   introdotta per l'occasione, ed è stata creata una nuova system call per
   versione 2.1.81 in Linux \func{chown} non seguiva i link simbolici, da
   allora questo comportamento è stato assegnato alla funzione \func{lchown},
   introdotta per l'occasione, ed è stata creata una nuova system call per
-  \func{chown} che seguisse i link simbolici} La funzione \func{fchown} opera
+  \func{chown} che seguisse i link simbolici.} La funzione \func{fchown} opera
 su un file aperto, essa è mutuata da BSD, ma non è nello standard POSIX.
 Un'altra estensione rispetto allo standard POSIX è che specificando -1 come
 su un file aperto, essa è mutuata da BSD, ma non è nello standard POSIX.
 Un'altra estensione rispetto allo standard POSIX è che specificando -1 come
-valore per \var{owner} e \var{group} i valori restano immutati. 
+valore per \var{owner} e \var{group} i valori restano immutati.
 
 Quando queste funzioni sono chiamate con successo da un processo senza i
 privilegi di root entrambi i bit \acr{suid} e \acr{sgid} vengono
 
 Quando queste funzioni sono chiamate con successo da un processo senza i
 privilegi di root entrambi i bit \acr{suid} e \acr{sgid} vengono