Iniziata configurazione
[gapil.git] / system.tex
index 27f484c83ad837d969c5fe75a91f6aec45365ad4..8cc2af886434136d8f085e1155bc475d53aa3890 100644 (file)
@@ -8,6 +8,7 @@ stesso, quelle per il controllo dell'uso delle risorse da parte dei processi,
 quelle per la gestione dei tempi e degli errori.
 
 
+
 \section{La lettura delle caratteristiche del sistema}
 \label{sec:sys_characteristics}
 
@@ -179,7 +180,7 @@ A complicare la faccenda si aggiunge il fatto che POSIX.1 prevede una serie di
 altre macro (che iniziano sempre con \code{\_POSIX\_}) che definiscono i
 valori minimi le stesse caratteristiche devono avere, perché una
 implementazione possa dichiararsi conforme allo standard; detti valori sono
-riportati in \tabref{tab:sys_posix1_base}.
+riportati in \tabref{tab:sys_posix1_general}.
 
 \begin{table}[htb]
   \centering
@@ -217,11 +218,11 @@ riportati in \tabref{tab:sys_posix1_base}.
   \label{tab:sys_posix1_general}
 \end{table}
 
-In genere questi valori non servono a molto, la loro unica utilità è quella
-di indicare un limite superiore che assicura la portabilità senza necessità di
-ulteriori controlli. Tuttavia molti di essi sono troppo ristretti, ed
-ampiamente superati in tutti i sistemi POSIX in uso oggigiorno. Per questo è
-sempre meglio usare i valori provvisti da \func{sysconf}.
+In genere questi valori non servono a molto, la loro unica utilità è quella di
+indicare un limite superiore che assicura la portabilità senza necessità di
+ulteriori controlli. Tuttavia molti di essi sono ampiamente superati in tutti
+i sistemi POSIX in uso oggigiorno. Per questo è sempre meglio utilizzare i
+valori ottenuti da \func{sysconf}.
 
 \begin{table}[htb]
   \centering
@@ -247,12 +248,12 @@ sempre meglio usare i valori provvisti da \func{sysconf}.
   \label{tab:sys_posix1_other}
 \end{table}
 
-Oltre ai precedenti valori (e a quelli elencati in
+Oltre ai precedenti valori (e a quelli relativi ai file elencati in
 \tabref{tab:sys_posix1_file}), che devono essere obbligatoriamente definiti,
-lo standard POSIX.1 ne prevede parecchi altri; in Linux la lista completa si
-può ricavare dall'header file \file{bits/posix1\_lim.h} (da non usare mai
-direttamente, è incluso automaticamente all'interno di \file{limits.h}); di
-questi vale la pena menzionare quelli di uso più comune, riportati in
+lo standard POSIX.1 ne prevede parecchi altri.  La lista completa si trova
+dall'header file \file{bits/posix1\_lim.h} (da non usare mai direttamente, è
+incluso automaticamente all'interno di \file{limits.h}); di questi vale la
+pena menzionare quelli di uso più comune, riportati in
 \tabref{tab:sys_posix1_other}, che permettono di ricavare alcune
 caratteristiche del sistema (come il supporto del \textit{job control} o dei
 \textit{saved id}).
@@ -469,16 +470,19 @@ suo prototipo 
 \subsection{La funzione \func{uname}}
 \label{sec:sys_uname}
 
-Una altra funzione che si può utilizzare per raccogliere informazioni riguardo
-al sistema ed al computer su cui esso sta girando è \func{uname}, il suo
-prototipo è:
+Una altra funzione che si può utilizzare per raccogliere informazioni sia
+riguardo al sistema che al computer su cui esso sta girando è \func{uname}, il
+suo prototipo è:
 \begin{prototype}{sys/utsname.h}{int uname(struct utsname *info)}
   Restituisce informazioni sul sistema nella struttura \param{info}.
   
   \bodydesc{La funzione ritorna 0 in caso di successo e -1 in caso di
   fallimento, nel qual caso \var{errno} viene settata a \macro{EFAULT}.}
 \end{prototype}
-\noindent la struttura è anch'essa definita in \file{sys/utsname.h} come:
+
+La funzione, che viene usata dal comando \cmd{umane}, restituisce le
+informazioni richieste nella struttura \param{info}, anche questa struttura è
+definita in \file{sys/utsname.h} come:
 \begin{lstlisting}[labelstep=0,frame=,indent=1cm]{}
     struct utsname {
         char sysname[_UTSNAME_LENGTH];
@@ -491,24 +495,35 @@ prototipo 
 #endif
     };
 \end{lstlisting}
-ed i suoi menbri indicano rispettivamente:
+e le informazioni memorizzate nei suoi membri indicano rispettivamente:
 \begin{itemize*}
 \item il nome del systema operativo;
 \item il nome della release del kernel;
 \item il nome della versione del kernel;
 \item il tipo di macchina in uso;
 \item il nome della stazione;
-\item il nome del domino (è una estensione recente).
+\item il nome del domino.
 \end{itemize*}
-
+(l'ultima informazione è stata aggiunta di recente e non è prevista dallo
+standard POSIX). 
 
 
 \section{Opzioni e configurazione del sistema}
 \label{sec:sys_config}
 
-In questa sezione prenderemo in esame le funzioni per leggere e settare i vari
-parametri di configurazione del sistema. 
+Come abbiamo accennato nella sezione precedente, non tutti i limiti che
+caratterizzano il sistema sono fissi, o perlomeno non lo sono in tutte le
+implementazioni. Finora abbiamo visto come si può fare per leggerli, ci manca
+di esaminare il meccanismo che permette, quando questi possono variare durante
+l'esecuzione del sistema, di modificarli.
+
+Oltre ai precedenti poi ci sono anche tutta una serie di parametri di
+configurazione, che non essendo mai fissi non sono stati inclusi nella
+standardizzazione della sezione precedente, e per i quali occorre, oltre al
+meccanismo di settaggio, pure un meccanismo di lettura.
 
+Affronteremo questi argomenti in questa sezione, insieme alle funzioni che si
+usano per la gestione ed il controllo dei filesystem. 
 
 \subsection{La funzione \func{sysctl}}
 \label{sec:sys_sysctl}