altri pezzi di codice da aggiungere
[gapil.git] / system.tex
index c5e182262fd1bae8914290c840143f5274eafe79..e5fe228b30d7bd41f80270be16f10a1bc2c37b4b 100644 (file)
@@ -42,7 +42,7 @@ quelle della gestione dei file.
 \subsection{Limiti e parametri di sistema}
 \label{sec:sys_limits}
 
-Quando si devono determinare le le caratteristiche generali del sistema ci si
+Quando si devono determinare le caratteristiche generali del sistema ci si
 trova di fronte a diverse possibilità; alcune di queste infatti possono
 dipendere dall'architettura dell'hardware (come le dimensioni dei tipi
 interi), o dal sistema operativo (come la presenza o meno del gruppo degli
@@ -157,7 +157,7 @@ file, riportate in \tabref{tab:sys_file_macro}).
 \begin{table}[htb]
   \centering
   \footnotesize
-  \begin{tabular}[c]{|l|r|p{8cm}|}
+  \begin{tabular}[c]{|l|r|p{7cm}|}
     \hline
     \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\
     \hline
@@ -201,7 +201,7 @@ riportati in \tabref{tab:sys_posix1_general}.
 \begin{table}[htb]
   \centering
   \footnotesize
-  \begin{tabular}[c]{|l|r|p{8cm}|}
+  \begin{tabular}[c]{|l|r|p{7cm}|}
     \hline
     \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\
     \hline
@@ -366,7 +366,7 @@ sostituendolo a \code{\_POSIX\_} per le macro definite dagli gli altri due.
 In generale si dovrebbe fare uso di \func{sysconf} solo quando la relativa
 macro non è definita, quindi con un codice analogo al seguente:
 %\footnotesize
-\begin{lstlisting}[labelstep=0,frame=,indent=1cm]{}
+\begin{lstlisting}[stepnumber=0,frame=]{}
 get_child_max(void)
 {
 #ifdef CHILD_MAX
@@ -521,7 +521,7 @@ solo definendo \macro{\_GNU\_SOURCE}.
 \begin{figure}[!htb]
   \footnotesize \centering
   \begin{minipage}[c]{15cm}
-  \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+  \begin{lstlisting}[stepnumber=0]{}
 struct utsname {
     char sysname[];
     char nodename[];
@@ -606,7 +606,7 @@ Legge o scrive uno dei parametri di sistema.
 \end{functions}
 
 I parametri a cui la funzione permettere di accedere sono organizzati in
-maniera gerarchica all'interno un albero;\footnote{si tenga presente che
+maniera gerarchica all'interno di un albero;\footnote{si tenga presente che
   includendo solo \file{unistd.h}, saranno definiti solo i parametri generici;
   dato che ce ne sono molti specifici dell'implementazione, nel caso di Linux
   occorrerà includere anche i file \file{linux/unistd.h} e
@@ -620,7 +620,7 @@ arriva ad identificare un parametro specifico 
 attraverso l'array \param{name}, di lunghezza \param{nlen}, che contiene la
 sequenza dei vari nodi da attraversare. Ogni parametro ha un valore in un
 formato specifico che può essere un intero, una stringa o anche una struttura
-complessa, per questo motivo il valori vengono passati come puntatori
+complessa, per questo motivo i valori vengono passati come puntatori
 \ctyp{void}.
 
 L'indirizzo a cui il valore corrente del parametro deve essere letto è
@@ -896,7 +896,7 @@ genere 
 \begin{figure}[!htb]
   \footnotesize \centering
   \begin{minipage}[c]{15cm}
-  \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+  \begin{lstlisting}[stepnumber=0]{}
 struct statfs {
    long    f_type;     /* tipo di filesystem */
    long    f_bsize;    /* dimensione ottimale dei blocchi di I/O */
@@ -983,7 +983,7 @@ il significato dei vari campi.
   \footnotesize
   \centering
   \begin{minipage}[c]{15cm}
-    \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+    \begin{lstlisting}[stepnumber=0]{}
 struct passwd {
     char    *pw_name;       /* user name */
     char    *pw_passwd;     /* user password */
@@ -1070,7 +1070,7 @@ in questo caso le informazioni vengono restituite in una struttura di tipo
   \footnotesize
   \centering
   \begin{minipage}[c]{15cm}
-    \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+    \begin{lstlisting}[stepnumber=0]{}
 struct group {
     char    *gr_name;        /* group name */
     char    *gr_passwd;      /* group password */
@@ -1239,7 +1239,7 @@ eseguire una ricerca.
   \footnotesize
   \centering
   \begin{minipage}[c]{15cm}
-    \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+    \begin{lstlisting}[stepnumber=0]{}
 struct utmp
 {
     short int ut_type;            /* Type of login.  */
@@ -1377,7 +1377,7 @@ di tipo \struct{rusage}, la cui definizione (che si trova in
   \footnotesize
   \centering
   \begin{minipage}[c]{15cm}
-    \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+    \begin{lstlisting}[stepnumber=0]{}
 struct rusage {
     struct timeval ru_utime; /* user time used */
     struct timeval ru_stime; /* system time used */
@@ -1467,13 +1467,13 @@ detto \textsl{duro} (o \textit{hard limit}), in quanto un processo normale non
 può modificarne il valore. Il valore di questi limiti è mantenuto in una
 struttura \struct{rlimit}, la cui definizione è riportata in
 \figref{fig:sys_rlimit_struct}, ed i cui campi corrispondono appunto a limite
-corrente e massimo.
+corrente e limite massimo.
 
 \begin{figure}[!htb]
   \footnotesize
   \centering
   \begin{minipage}[c]{15cm}
-    \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+    \begin{lstlisting}[stepnumber=0]{}
 struct rlimit {
      rlim_t    rlim_cur;
      rlim_t    rlim_max;
@@ -1578,13 +1578,13 @@ poi effettuato attraverso la struttura \struct{rlimit} puntata da
   evitare la creazione di \file{core} file (al proposito si veda
   \secref{sec:sig_prog_error}).}
 
-Nello specificare un limite, oltre a dei valori specifici, si può anche usare
-la costante \const{RLIM\_INFINITY} che permette di sbloccare l'uso di una
-risorsa; ma si ricordi che solo un processo con i privilegi di amministratore
-può innalzare un limite al di sopra del valore corrente del limite massimo. Si
-tenga conto infine che tutti i limiti vengono ereditati dal processo padre
-attraverso una \func{fork} (vedi \secref{sec:proc_fork}) e mantenuti per gli
-altri programmi eseguiti attraverso una \func{exec} (vedi
+Nello specificare un limite, oltre a fornire dei valori specifici, si può
+anche usare la costante \const{RLIM\_INFINITY} che permette di sbloccare l'uso
+di una risorsa; ma si ricordi che solo un processo con i privilegi di
+amministratore può innalzare un limite al di sopra del valore corrente del
+limite massimo. Si tenga conto infine che tutti i limiti vengono ereditati dal
+processo padre attraverso una \func{fork} (vedi \secref{sec:proc_fork}) e
+mantenuti per gli altri programmi eseguiti attraverso una \func{exec} (vedi
 \secref{sec:proc_exec}).
 
 
@@ -1808,7 +1808,7 @@ struttura di tipo \struct{tms}, la cui definizione 
   \footnotesize
   \centering
   \begin{minipage}[c]{15cm}
-    \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+    \begin{lstlisting}[stepnumber=0]{}
 struct tms {
        clock_t tms_utime;  /* user time */
        clock_t tms_stime;  /* system time */
@@ -1836,7 +1836,6 @@ lo stato di terminazione di tutti i suoi figli, questi processi ``nipoti'' non
 verranno considerati nel calcolo di questi tempi.
 
 
-
 \subsection{Le funzioni per il \textit{calendar time}}
 \label{sec:sys_time_base}
 
@@ -1845,8 +1844,8 @@ mantenuto dal kernel in una variabile di tipo \type{time\_t}, che usualmente
 corrisponde ad un tipo elementare (in Linux è definito come \ctyp{long int},
 che di norma corrisponde a 32 bit).  Il valore corrente del \textit{calendar
   time}, che indicheremo come \textsl{tempo di sistema}, può essere ottenuto
-con la funzione \funcd{time} che lo restituisce in nel suddetto formato; il
-suo prototipo è:
+con la funzione \funcd{time} che lo restituisce nel suddetto formato; il suo
+prototipo è:
 \begin{prototype}{time.h}{time\_t time(time\_t *t)}
   Legge il valore corrente del \textit{calendar time}.
   
@@ -1909,7 +1908,7 @@ nanosecondo.\footnote{la precisione 
 \begin{figure}[!htb]
   \footnotesize \centering
   \begin{minipage}[c]{15cm}
-    \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+    \begin{lstlisting}[stepnumber=0]{}
 struct timeval 
 {
     long tv_sec;            /* seconds */
@@ -1972,7 +1971,7 @@ effettuato.
 \begin{figure}[!htb]
   \footnotesize \centering
   \begin{minipage}[c]{15cm}
-    \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+    \begin{lstlisting}[stepnumber=0]{}
 struct timex {
     unsigned int modes;   /* mode selector */
     long int offset;      /* time offset (usec) */
@@ -2132,7 +2131,7 @@ stata introdotta una ulteriore rappresentazione, detta \textit{broken-down
 \begin{figure}[!htb]
   \footnotesize \centering
   \begin{minipage}[c]{15cm}
-    \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+    \begin{lstlisting}[stepnumber=0]{}
 struct tm {
         int     tm_sec;         /* seconds */
         int     tm_min;         /* minutes */
@@ -2144,7 +2143,7 @@ struct tm {
         int     tm_yday;        /* day in the year */
         int     tm_isdst;       /* daylight saving time */
         long int tm_gmtoff;     /* Seconds east of UTC.  */
-        cost char *tm_zone;     /* Timezone abbreviation.  */
+        const char *tm_zone;    /* Timezone abbreviation.  */
 };
     \end{lstlisting}
   \end{minipage} 
@@ -2243,7 +2242,7 @@ verr
   \footnotesize
   \centering
   \begin{minipage}[c]{15cm}
-    \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{}
+    \begin{lstlisting}[stepnumber=0]{}
 extern char *tzname[2];
 extern long timezone;
 extern int daylight;
@@ -2265,7 +2264,7 @@ solare, la seconda per l'ora legale.\footnote{anche se sono indicati come
 Benché la funzione \func{asctime} fornisca la modalità più immediata per
 stampare un tempo o una data, la flessibilità non fa parte delle sue
 caratteristiche; quando si vuole poter stampare solo una parte (l'ora, o il
-gionrno) di un tempo si può ricorrere alla più sofisticata \funcd{strftime},
+giorno) di un tempo si può ricorrere alla più sofisticata \funcd{strftime},
 il cui prototipo è:
 \begin{prototype}{time.h}
 {size\_t strftime(char *s, size\_t max, const char *format, 
@@ -2275,7 +2274,7 @@ Stampa il tempo \param{tm} nella stringa \param{s} secondo il formato
 \param{format}.
   
   \bodydesc{La funzione ritorna il numero di caratteri stampati in \param{s},
-  altrimenti restuisce 0.}
+  altrimenti restituisce 0.}
 \end{prototype}
 
 La funzione converte opportunamente il tempo \param{tm} in una stringa di
@@ -2332,7 +2331,7 @@ viene utilizzato come modificatore; alcuni\footnote{per la precisione quelli
   le \acr{glibc} provvedono tutte le estensioni introdotte da POSIX.2 per il
   comando \cmd{date}, i valori introdotti da SVID3 e ulteriori estensioni GNU;
   l'elenco completo dei possibili valori è riportato nella pagina di manuale
-  della funzione.} dei possibili valori che esso può assumere sono ripotati in
+  della funzione.} dei possibili valori che esso può assumere sono riportati in
 \tabref{tab:sys_strftime_format}. La funzione tiene conto anche della presenza
 di una localizzazione per stampare in maniera adeguata i vari nomi.