Sistemato il memory locking
[gapil.git] / prochand.tex
index e6913ed01a7bc9ceb5a5e9b3daf11c2cb7827d3e..f81dcc95dcdcc76c9a09689031a2e9bfe07d991f 100644 (file)
@@ -17,7 +17,7 @@ problematiche generiche della programmazione in ambiente multitasking.
 \label{sec:proc_gen}
 
 Partiremo con una introduzione generale ai concetti che stanno alla base della
-gestione dei processi in un sitema unix-like. Introdurremo in questa sezione
+gestione dei processi in un sistema unix-like. Introdurremo in questa sezione
 l'architettura della gestione dei processi e le sue principali
 caratteristiche, e daremo una panoramica sull'uso delle principali funzioni
 per la gestione dei processi.
@@ -219,7 +219,7 @@ Oltre al \acr{pid} e al \acr{ppid}, e a quelli usati per il controllo di
 sessione, ad ogni processo sono associati altri identificatori, usati per il
 controllo di accesso, che servono per determinare se il processo può o meno
 eseguire le operazioni richieste, a seconda dei privilegi e dell'identità di
-chi lo ha posto in esecuzione; su questi torneremo in dettaglii più avanti in
+chi lo ha posto in esecuzione; su questi torneremo in dettagli più avanti in
 \secref{sec:proc_perm}.
 
 
@@ -1332,7 +1332,7 @@ il programma che si 
 settati (il significato di questi bit è affrontato in dettaglio in
 \secref{sec:file_suid_sgid}). In questo caso essi saranno settati all'utente e
 al gruppo proprietari del file; questo consente, per programmi in cui ci sia
-necessità, di dare a qualunquee utente normale privilegi o permessi di
+necessità, di dare a qualunque utente normale privilegi o permessi di
 un'altro (o dell'amministratore).
 
 Come nel caso del \acr{pid} e del \acr{ppid} tutti questi identificatori
@@ -1397,10 +1397,10 @@ di utente e gruppo associati dal kernel ad ogni processo, 
 \subsection{Le funzioni \func{setuid} e \func{setgid}}
 \label{sec:proc_setuid}
 
-Le due funzioni che venfono usate per cambiare identità (cioè utente e gruppo
+Le due funzioni che vengono usate per cambiare identità (cioè utente e gruppo
 di appartenenza) ad un processo sono rispettivamente \func{setuid} e
 \func{setgid}; come accennato in \secref{sec:proc_user_group} in Linux esse
-seguono la sematica POSIX che prevede l'esistenza di \textit{saved user id} e
+seguono la semantica POSIX che prevede l'esistenza di \textit{saved user id} e
 \textit{saved group id}; i loro prototipi sono:
 
 \begin{functions}
@@ -1426,7 +1426,7 @@ delle funzioni che tratteremo in questa sezione.
 
 L'effetto della chiamata è diverso a seconda dei privilegi del processo; se
 l'\textit{effective user id} è zero (cioè è quello dell'amministratore di
-sistema) allora tutti gli identificatatori (\textit{real}, \textit{effective}
+sistema) allora tutti gli identificatori (\textit{real}, \textit{effective}
 e \textit{saved}) vengono settati al valore specificato da \var{uid},
 altrimenti viene settato solo l'\textit{effective user id}, e soltanto se il
 valore specificato corrisponde o al \textit{real user id} o al \textit{saved
@@ -1441,7 +1441,7 @@ eventualmente tornare indietro.
 Come esempio per chiarire dell'uso di queste funzioni prediamo quello con cui
 viene gestito l'accesso al file \file{/var/log/utmp}.  In questo file viene
 registrato chi sta usando il sistema al momento corrente; chiaramente non può
-essere lasciato aperto in scrittura a qualunque utente, che protrebbe
+essere lasciato aperto in scrittura a qualunque utente, che potrebbe
 falsificare la registrazione. Per questo motivo questo file (e l'analogo
 \file{/var/log/wtmp} su cui vengono registrati login e logout) appartengono ad
 un gruppo dedicato (\acr{utmp}) ed i programmi che devono accedervi (ad
@@ -1519,7 +1519,7 @@ Le funzioni restituiscono 0 in caso di successo e -1 in caso di fallimento:
 l'unico errore possibile è \macro{EPERM}. 
 \end{functions}
 
-I processi non privileguiati possono settare i \textit{real id} soltanto ai
+I processi non privilegiati possono settare i \textit{real id} soltanto ai
 valori dei loro \textit{effective id} o \textit{real id} e gli
 \textit{effective id} ai valori dei loro \textit{real id}, \textit{effective
   id} o \textit{saved id}; valori diversi comportano il fallimento della
@@ -1578,9 +1578,9 @@ l'unico errore possibile 
 
 I processi non privilegiati possono cambiare uno qualunque degli
 identificatori usando uno qualunque dei valori correnti di \textit{real id},
-\textit{effective id} o \textit{saved id}, l'ammnistratore può specificare i
+\textit{effective id} o \textit{saved id}, l'amministratore può specificare i
 valori che vuole; un valore di -1 per un qualunque parametro lascia inalterato
-l'dentificatore corrispondente.
+l'identificatore corrispondente.
 
 
 
@@ -1634,7 +1634,7 @@ ha temporaneamente assunto l'identit
 quelli originari per quanto riguarda tutti gli altri controlli di accesso.
 
 Le due funzioni usate per cambiare questi identificatori sono \func{setfsuid}
-e \func{setfsgid}, ovviamenete sono specifiche di Linux e non devono essere
+e \func{setfsgid}, ovviamente sono specifiche di Linux e non devono essere
 usate se si intendono scrivere programmi portabili; i loro prototipi sono:
 
 \begin{functions}
@@ -1683,7 +1683,7 @@ quando si ha la certezza che, qualora essa venga effettuata, tutti i passaggi
 che devono essere compiuti per realizzarla verranno eseguiti senza possibilità
 di interruzione in una fase intermedia.
 
-In un ambiente multitasking il concetto è esseziale, dato che un processo può
+In un ambiente multitasking il concetto è essenziale, dato che un processo può
 essere interrotto in qualunque momento dal kernel che mette in esecuzione un
 altro processo o dalla ricezione di un segnale; occorre pertanto essere
 accorti nei confronti delle possibili \textit{race condition} (vedi
@@ -1736,7 +1736,7 @@ di eseguire atomicamente le operazioni necessarie, occorre che le risorse
 condivise siano opportunamente protette da meccanismi di sincronizzazione
 (torneremo su queste problematiche di questo tipo in \secref{sec:ipc_semaph}).
 
-Un caso particolare di \textit{race condition} sono poi i cosidetti
+Un caso particolare di \textit{race condition} sono poi i cosiddetti
 \textit{deadlock}; l'esempio tipico è quello di un flag di ``occupazione'' che
 viene rilasciato da un evento asincrono fra il controllo (in cui viene trovato
 occupato) e la successiva messa in attesa, attesa che a questo punto diventerà