From: Simone Piccardi Date: Tue, 31 Dec 2002 12:44:48 +0000 (+0000) Subject: Correzione ortografica. X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=commitdiff_plain;h=39154797992fca1134da0f4456dfbe2f37d82269 Correzione ortografica. --- diff --git a/filedir.tex b/filedir.tex index 8b522d6..5afbc54 100644 --- a/filedir.tex +++ b/filedir.tex @@ -254,7 +254,7 @@ nello stesso filesystem) si usa invece la funzione \funcd{rename},\footnote{la sistema (come mount point). \item[\errcode{EINVAL}] \param{newpath} contiene un prefisso di \param{oldpath} o più in generale si è cercato di creare una directory come - sottodirectory di se stessa. + sotto-directory di se stessa. \item[\errcode{ENOTDIR}] Uno dei componenti dei pathname non è una directory o \param{oldpath} è una directory e \param{newpath} esiste e non è una directory. @@ -594,7 +594,7 @@ di queste funzioni il filesystem su cui si è cercato di creare \func{pathname} non supporta l'operazione. \item[\errcode{EINVAL}] Il valore di \param{mode} non indica un file, una - fifo o un dipositivo. + fifo o un dispositivo. \item[\errcode{EEXIST}] \param{pathname} esiste già o è un link simbolico. \end{errlist} ed inoltre anche \errval{EFAULT}, \errval{EACCES}, \errval{ENAMETOOLONG}, @@ -729,7 +729,7 @@ La lettura di una voce della directory viene effettuata attraverso la funzione Legge una voce dal \textit{directory stream}. - \bodydesc{La funzione restituisce il puntatore alla struttura contentente i + \bodydesc{La funzione restituisce il puntatore alla struttura contenente i dati in caso di successo e \val{NULL} altrimenti, in caso di descrittore non valido \var{errno} assumerà il valore \errval{EBADF}, il valore \val{NULL} viene restituito anche quando si raggiunge la fine dello @@ -764,7 +764,7 @@ con i thread; il suo prototipo La funzione restituisce in \param{result} (come \textit{value result argument}) l'indirizzo dove sono stati salvati i dati, che di norma -corriponde a quallo della struttura precedentemente allocata e specificata +corrisponde a quello della struttura precedentemente allocata e specificata dall'argomento \param{entry} (anche se non è assicurato che la funzione usi lo spazio fornito dall'utente). @@ -776,9 +776,9 @@ presenti nella directory; sia BSD che SVr4\footnote{POSIX prevede invece solo campo \var{d\_name}, che contiene il nome del file nella forma di una stringa terminata da uno zero,\footnote{lo standard POSIX non specifica una lunghezza, ma solo un limite \const{NAME\_MAX}; in SVr4 la lunghezza del campo è - definta come \code{NAME\_MAX+1} che di norma porta al valore di 256 byte + definita come \code{NAME\_MAX+1} che di norma porta al valore di 256 byte usato anche in Linux.} ed il campo \var{d\_ino}, che contiene il numero di -inode cui il file è associato (di solito corriponde al campo \var{st\_ino} di +inode cui il file è associato (di solito corrisponde al campo \var{st\_ino} di \struct{stat}). \begin{figure}[!htb] @@ -864,7 +864,7 @@ legge la posizione corrente; il prototipo di quest'ultima \bodydesc{La funzione restituisce la posizione corrente nello stream (un numero positivo) in caso di successo, e -1 altrimenti, nel qual caso \var{errno} assume solo il valore di \errval{EBADF}, corrispondente ad un - valore errrato per \param{dir}.} + valore errato per \param{dir}.} \end{prototype} La sola funzione di posizionamento nello stream prevista dallo standard POSIX @@ -875,7 +875,7 @@ prototipo \funcdecl{void rewinddir(DIR *dir)} - Si posiziona all'inzio di un \textit{directory stream}. + Si posiziona all'inizio di un \textit{directory stream}. \end{functions} @@ -915,7 +915,7 @@ l'ordinamento di tutte le voci selezionate (\param{compar}). La funzione legge tutte le voci della directory indicata dall'argomento \param{dir}, passando ciascuna di esse come argomento alla funzione di \param{select}; se questa ritorna un valore diverso da zero la voce viene -inserita in una struttura allocata dinamicamante con \func{malloc}, qualora si +inserita in una struttura allocata dinamicamente con \func{malloc}, qualora si specifichi un valore \val{NULL} per \func{select} vengono selezionate tutte le voci. Tutte le voci selezionate vengono poi inserite un una lista (anch'essa allocata con \func{malloc}, che viene riordinata tramite \func{qsort} usando @@ -961,7 +961,8 @@ dopo \func{file4}.) A ciascun processo è associata una directory nel filesystem che è chiamata directory corrente o directory di lavoro (\textit{current working directory}) che è quella a cui si fa riferimento quando un filename è espresso in forma -relativa, dove il ``relativa'' fa riferimento appunto a questa directory. +relativa, dove il ``\textsl{relativa}'' fa riferimento appunto a questa +directory. Quando un utente effettua il login, questa directory viene impostata alla \textit{home directory} del suo account. Il comando \cmd{cd} della shell @@ -1187,7 +1188,7 @@ prototipo -1 in caso di errore, nel qual caso \var{errno} assumerà i valori: \begin{errlist} \item[\errcode{EINVAL}] \param{template} non termina con \code{XXXXXX}. - \item[\errcode{EEXIST}] non è riuscita a creare un file temporano, il + \item[\errcode{EEXIST}] non è riuscita a creare un file temporaneo, il contenuto di \param{template} è indefinito. \end{errlist}} \end{prototype} @@ -1693,7 +1694,7 @@ Una delle caratteristiche fondamentali di tutti i sistemi unix-like del controllo di accesso ai file, che viene implementato per qualunque filesystem standard.\footnote{per standard si intende che implementa le caratteristiche previste dallo standard POSIX. In Linux sono disponibili - anche una serie di altri filesystem, come quelli di Windiws e del Mac, che + anche una serie di altri filesystem, come quelli di Windows e del Mac, che non supportano queste caratteristiche.} In questa sezione ne esamineremo i concetti essenziali e le funzioni usate per gestirne i vari aspetti. @@ -1857,7 +1858,7 @@ effettivo e gli eventuali groupid supplementari del processo.\footnote{in Per una spiegazione dettagliata degli identificatori associati ai processi si veda \secref{sec:proc_perms}; normalmente, a parte quanto vedremo in -\secref{sec:file_suid_sgid}, l'userid effettivo e il groupid effectivo +\secref{sec:file_suid_sgid}, l'userid effettivo e il groupid effettivo corrispondono ai valori dell'\acr{uid} e del \acr{gid} dell'utente che ha lanciato il processo, mentre i groupid supplementari sono quelli dei gruppi cui l'utente appartiene. @@ -2035,13 +2036,13 @@ bit \acr{sgid} impostato allora viene usata la seconda opzione. Usare la semantica BSD ha il vantaggio che il \acr{gid} viene sempre automaticamente propagato, restando coerente a quello della directory di -partenza, in tutte le sottodirectory. +partenza, in tutte le sotto-directory. La semantica SVr4 offre la possibilità di scegliere, ma per ottenere lo stesso risultato di coerenza che si ha con BSD necessita che per le nuove directory venga anche propagato anche il bit \acr{sgid}. Questo è il comportamento predefinito del comando \cmd{mkdir}, ed è in questo modo ad esempio che Debian -assicura che le sottodirectory create nella home di un utente restino sempre +assicura che le sotto-directory create nella home di un utente restino sempre con il \acr{gid} del gruppo primario dello stesso. @@ -2358,8 +2359,8 @@ alcun effetto qualora il processo possieda i privilegi di amministratore. \acr{s}&\acr{s}&\acr{t}&r&w&x&r&w&x&r&w&x& \\ \hline \hline - 1&-&-&-&-&-&-&-&-&-&-&-&Se eseguito ha i permessi del propritario\\ - -&1&-&-&-&1&-&-&-&-&-&-&Se eseguito ha i permessi del gruppo propritario\\ + 1&-&-&-&-&-&-&-&-&-&-&-&Se eseguito ha i permessi del proprietario\\ + -&1&-&-&-&1&-&-&-&-&-&-&Se eseguito ha i permessi del gruppo proprietario\\ -&1&-&-&-&0&-&-&-&-&-&-&Il \textit{mandatory locking} è abilitato\\ -&-&1&-&-&-&-&-&-&-&-&-&Non utilizzato\\ -&-&-&1&-&-&-&-&-&-&-&-&Permesso di lettura per il proprietario\\ @@ -2430,7 +2431,7 @@ riportato esplicitamente. \label{sec:file_chroot} Benché non abbia niente a che fare con permessi, utenti e gruppi, la funzione -\func{chroot} viene usata spesso per restringere le capacità di acccesso di un +\func{chroot} viene usata spesso per restringere le capacità di accesso di un programma ad una sezione limitata del filesystem, per cui ne parleremo in questa sezione. @@ -2440,7 +2441,7 @@ di lavoro corrente, ha anche una directory radice,\footnote{entrambe sono \figref{fig:proc_task_struct}.} che è la directory che per il processo costituisce la radice dell'albero dei file e rispetto alla quale vengono risolti i pathname assoluti (si ricordi quanto detto in -\secref{sec:file_organization}). La radice viene eredidata dal padre per ogni +\secref{sec:file_organization}). La radice viene ereditata dal padre per ogni processo figlio, e quindi di norma coincide con la \file{/} del sistema. In certe situazioni però per motivi di sicurezza non si vuole che un processo @@ -2476,11 +2477,11 @@ accedere a tutto il filesystem usando pathname relativi. Ma quando ad un processo restano i privilegi di root esso potrà sempre portare la directory di lavoro corrente fuori dalla \textit{chroot jail} creando una -sottodirectory ed eseguendo una \func{chroot} su di essa. Per questo motivo +sotto-directory ed eseguendo una \func{chroot} su di essa. Per questo motivo l'uso di questa funzione non ha molto senso quando un processo necessita dei privilegi di root per le sue normali operazioni. -Un caso tipico di uso di \func{chroot} è quello di un server ftp anonimo, in +Un caso tipico di uso di \func{chroot} è quello di un server FTP anonimo, in questo caso infatti si vuole che il server veda solo i file che deve trasferire, per cui in genere si esegue una \func{chroot} sulla directory che contiene i file. Si tenga presente però che in questo caso occorrerà diff --git a/ipc.tex b/ipc.tex index c7f2c4a..0c6a4f2 100644 --- a/ipc.tex +++ b/ipc.tex @@ -561,9 +561,8 @@ Il secondo caso processo alla volta (nel qual caso basta usare due fifo, una per leggere ed una per scrivere), le cose diventano invece molto più complesse quando si vuole effettuare una comunicazione fra il server ed un numero imprecisato di -client; se il primo infatti può ricevere le richieste attraverso una fifo -``nota'', per le risposte non si può fare altrettanto, dato che, per la -struttura sequenziale delle fifo, i client dovrebbero sapere, prima di +client; se il primo infatti può ricevere le richieste attraverso una fifo```\textsl{nota}'', per le risposte non si può fare altrettanto, dato che, per +la struttura sequenziale delle fifo, i client dovrebbero sapere, prima di leggerli, quando i dati inviati sono destinati a loro. Per risolvere questo problema, si può usare un'architettura come quella @@ -1922,7 +1921,7 @@ della risorsa; in generale per utilizzando il valore del contatore come indicatore del ``numero di risorse'' ancora disponibili. -Il sistema di comunicazione interprocesso di \textit{SysV IPC} prevede anche i +Il sistema di comunicazione inter-processo di \textit{SysV IPC} prevede anche i semafori, ma gli oggetti utilizzati non sono semafori singoli, ma gruppi di semafori detti \textsl{insiemi} (o \textit{semaphore set}); la funzione che permette di creare o ottenere l'identificatore di un insieme di semafori è @@ -2939,20 +2938,20 @@ sequenziale\footnote{come accennato in \secref{sec:ipc_sysv_mq} per la effettuata in forma di messaggio.} o quando non può avvenire secondo una modalità predefinita. -Un esempio classico di uso della memoria condivisa è quello del ``monitor'', -in cui essa viene per scambiare informazioni fra un processo ``server'' che vi -scrive dei dati di interesse generale che ha ottenuto, e tutti i processi -``client'' interessati agli stessi dati che così possono leggerli in maniera -completamente asincrona. Con questo schema di funzionamento da una parte si -evita che ciascun processo ``client'' debbia compiere l'operazione, -potenzialmente onerosa, di ricavare e trattare i dati, e dall'altra si evita -al processo ``server'' di dover gestire l'invio a tutti i client di tutti i -dati (non potendo il server sapere quali di essi servono effettivamente al -singolo client). +Un esempio classico di uso della memoria condivisa è quello del +``\textit{monitor}'', in cui essa viene per scambiare informazioni fra un +processo ``server'' che vi scrive dei dati di interesse generale che ha +ottenuto, e tutti i processi ``client'' interessati agli stessi dati che così +possono leggerli in maniera completamente asincrona. Con questo schema di +funzionamento da una parte si evita che ciascun processo ``client'' debba +compiere l'operazione, potenzialmente onerosa, di ricavare e trattare i dati, +e dall'altra si evita al processo ``server'' di dover gestire l'invio a tutti +i client di tutti i dati (non potendo il server sapere quali di essi servono +effettivamente al singolo client). Nel nostro caso implementeremo un ``monitor'' di una directory: un processo si incaricherà di tenere sotto controllo alcuni parametri relativi ad una -directory (il numero dei file contenuti, la dimenzione totale, ecc.) che +directory (il numero dei file contenuti, la dimensione totale, ecc.) che saranno salvati in un segmento di memoria condivisa cui altri processi potranno accedere per ricavare la parte di informazione che interessa.