Lavoro fatto a casa senza ADSL, correzioni multiple agli indici, documentato
[gapil.git] / intro.tex
index 9e473ed5b65aa7868a21b2a80a0f6ce5f69d5083..0e24abdcae8ac88f61b91758135def140c0f2c05 100644 (file)
--- a/intro.tex
+++ b/intro.tex
@@ -37,7 +37,7 @@ Il concetto base di un sistema unix-like 
 cosiddetto \textit{kernel}, nel nostro caso Linux) a cui si demanda la
 gestione delle risorse essenziali (la CPU, la memoria, le periferiche) mentre
 tutto il resto, quindi anche la parte che prevede l'interazione con l'utente,
-deve venire realizzato tramite programmi eseguiti dal kernel e che accedano
+dev'essere realizzato tramite programmi eseguiti dal kernel, che accedano
 alle risorse hardware tramite delle richieste a quest'ultimo.
 
 Fin dall'inizio uno Unix si presenta come un sistema operativo
@@ -62,11 +62,11 @@ all'hardware, mentre i programmi normali vengono eseguiti in modalit
 (e non possono accedere direttamente alle zone di memoria riservate o alle
 porte di input/output).
 
-Una parte del kernel, lo \textit{scheduler}\index{\textit{scheduler}}, si
-occupa di stabilire, ad intervalli fissi e sulla base di un opportuno calcolo
-delle priorità, quale ``\textsl{processo}'' deve essere posto in esecuzione
-(il cosiddetto \textit{preemptive
-  scheduling}\index{\textit{preemptive~scheduling}}).  Questo verrà comunque
+Una parte del kernel, lo \textit{scheduler}\itindex{scheduler}, si occupa di
+stabilire, ad intervalli fissi e sulla base di un opportuno calcolo delle
+priorità, quale ``\textsl{processo}'' deve essere posto in esecuzione (il
+cosiddetto \textit{prehemptive
+  multitasking}\itindex{prehemptive~multitasking}).  Questo verrà comunque
 eseguito in modalità protetta; quando necessario il processo potrà accedere
 alle risorse hardware soltanto attraverso delle opportune chiamate al sistema
 che restituiranno il controllo al kernel.
@@ -250,7 +250,7 @@ Ogni utente appartiene anche ad almeno un gruppo (il cosiddetto
 \textit{default group}), ma può essere associato ad altri gruppi (i
 \textit{supplementary group}), questo permette di gestire i permessi di
 accesso ai file e quindi anche alle periferiche, in maniera più flessibile,
-definendo gruppi di lavoro, di accesso a determinate risorse, etc.
+definendo gruppi di lavoro, di accesso a determinate risorse, ecc.
 
 L'utente e il gruppo sono identificati da due numeri, la cui corrispondenza ad
 un nome espresso in caratteri è inserita nei due file \file{/etc/passwd} e
@@ -258,11 +258,11 @@ un nome espresso in caratteri 
   in sez.~\ref{sec:sys_user_group} queste informazioni possono essere
   mantenute, con l'uso del \textit{Name Service Switch}, su varie tipologie di
   supporti, compresi server centralizzati come LDAP.}
-\index{\textit{Name~Service~Switch}} Questi numeri sono l'\textit{user
-  identifier}, detto in breve \textsl{user-ID}, ed indicato dall'acronimo
-\acr{uid}, e il \textit{group identifier}, detto in breve \textsl{group-ID},
-ed identificato dall'acronimo \acr{gid}, e sono quelli che vengono usati dal
-kernel per identificare l'utente.
+\itindex{Name~Service~Switch} Questi numeri sono l'\textit{user identifier},
+detto in breve \textsl{user-ID}, ed indicato dall'acronimo \acr{uid}, e il
+\textit{group identifier}, detto in breve \textsl{group-ID}, ed identificato
+dall'acronimo \acr{gid}, e sono quelli che vengono usati dal kernel per
+identificare l'utente.
  
 In questo modo il sistema è in grado di tenere traccia dell'utente a cui
 appartiene ciascun processo ed impedire ad altri utenti di interferire con
@@ -277,7 +277,7 @@ Infine in ogni Unix 
 essere in grado di fare qualunque operazione; per l'utente \textit{root}
 infatti i meccanismi di controllo descritti in precedenza sono
 disattivati.\footnote{i controlli infatti vengono sempre eseguiti da un codice
-  del tipo \code{if (uid) \{ ... \}}}
+  del tipo: ``\code{if (uid) \{ \textellipsis\ \}}''.}
 
 
 \section{Gli standard}
@@ -377,7 +377,7 @@ usare le varie estensioni al linguaggio e al preprocessore da esso supportate.
 
 Uno dei problemi di portabilità del codice più comune è quello dei tipi di
 dati utilizzati nei programmi, che spesso variano da sistema a sistema, o
-anche da una architettura ad un altra (ad esempio passando da macchine con
+anche da una architettura ad un'altra (ad esempio passando da macchine con
 processori 32 bit a 64). In particolare questo è vero nell'uso dei cosiddetti
 \textit{tipi elementari}\index{tipo!elementare} del linguaggio C (come
 \ctyp{int}) la cui dimensione varia a seconda dell'architettura hardware.
@@ -400,8 +400,8 @@ una infinita serie di problemi di portabilit
     \textbf{Tipo} & \textbf{Contenuto} \\
     \hline
     \hline
-    \type{caddr\_t} & core address.\\
-    \type{clock\_t} & contatore del tempo di sistema.\\
+    \type{caddr\_t} & Core address.\\
+    \type{clock\_t} & Contatore del tempo di sistema.\\
     \type{dev\_t}   & Numero di dispositivo.\\
     \type{gid\_t}   & Identificatore di un gruppo.\\
     \type{ino\_t}   & Numero di \textit{inode}\index{inode}.\\
@@ -451,8 +451,8 @@ standardizzare l'interfaccia con il sistema operativo.
 
 Ma gli standard POSIX non si limitano alla standardizzazione delle funzioni di
 libreria, e in seguito sono stati prodotti anche altri standard per la shell e
-i comandi di sistema (1003.2), per le estensioni realtime e per i thread
-(1003.1d e 1003.1c) e vari altri.  In tab.~\ref{tab:intro_posix_std} è
+i comandi di sistema (1003.2), per le estensioni \textit{real-time} e per i
+thread (1003.1d e 1003.1c) e vari altri.  In tab.~\ref{tab:intro_posix_std} è
 riportata una classificazione sommaria dei principali documenti prodotti, e di
 come sono identificati fra IEEE ed ISO; si tenga conto inoltre che molto
 spesso si usa l'estensione IEEE anche come aggiunta al nome POSIX (ad esempio
@@ -564,7 +564,7 @@ periodicamente nuove specifiche e strumenti per la verifica della conformit
 alle stesse.
 
 Nel 1997 fu annunciata la seconda versione delle \textit{Single UNIX
-  Specification}, nota con la sigla SUSv2, in queste versione le interfacce
+  Specification}, nota con la sigla SUSv2, in questa versione le interfacce
 specificate salgono a 1434 (e 3030 se si considerano le stazioni di lavoro
 grafiche, per le quali sono inserite pure le interfacce usate da CDE che
 richiede sia X11 che Motif). La conformità a questa versione permette l'uso
@@ -638,8 +638,9 @@ ottenibili sia attraverso l'uso di opzioni del compilatore (il \cmd{gcc}) che
 definendo opportune costanti prima dell'inclusione dei file degli header.
 
 Se si vuole che i programmi seguano una stretta attinenza allo standard ANSI C
-si può usare l'opzione \cmd{-ansi} del compilatore, e non sarà riconosciuta
-nessuna funzione non riconosciuta dalle specifiche standard ISO per il C.
+si può usare l'opzione \cmd{-ansi} del compilatore, e non potrà essere
+utilizzata nessuna funzione non riconosciuta dalle specifiche standard ISO per
+il C.
 
 Per attivare le varie opzioni è possibile definire le macro di preprocessore,
 che controllano le funzionalità che le \acr{glibc} possono mettere a
@@ -715,7 +716,7 @@ includere i vari header file.
 %% \subsection{Gli standard di GNU/Linux}
 %% \label{sec:intro_linux_std}
 
-%% Da fare (o cassare, a seconda del tempo e della voglia).
+% TODO Da fare (o cassare, a seconda del tempo e della voglia).