Risistemazione finale dei controlli ortografici...
[gapil.git] / system.tex
index 9ca37675a72227cd8dde9459ad0b8e393f17c2f1..df7d3c8e4a3a0e46f774cc1f8cb12a7b682dfae5 100644 (file)
@@ -88,23 +88,23 @@ avere un valore minimo di 8.
     \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\
     \hline
     \hline
     \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\
     \hline
     \hline
-    \const{MB\_LEN\_MAX}&       16  & massima dimensione di un 
-                                      carattere esteso\\
-    \const{CHAR\_BIT} &          8  & bit di \ctyp{char}\\
-    \const{UCHAR\_MAX}&        255  & massimo di \ctyp{unsigned char}\\
-    \const{SCHAR\_MIN}&       -128  & minimo di \ctyp{signed char}\\
-    \const{SCHAR\_MAX}&        127  & massimo di \ctyp{signed char}\\
-    \const{CHAR\_MIN} &\footnotemark& minimo di \ctyp{char}\\
-    \const{CHAR\_MAX} &\footnotemark& massimo di \ctyp{char}\\
-    \const{SHRT\_MIN} &     -32768  & minimo di \ctyp{short}\\
-    \const{SHRT\_MAX} &      32767  & massimo di \ctyp{short}\\
-    \const{USHRT\_MAX}&      65535  & massimo di \ctyp{unsigned short}\\
-    \const{INT\_MAX}  & 2147483647  & minimo di \ctyp{int}\\
-    \const{INT\_MIN}  &-2147483648  & minimo di \ctyp{int}\\
-    \const{UINT\_MAX} & 4294967295  & massimo di \ctyp{unsigned int}\\
-    \const{LONG\_MAX} & 2147483647  & massimo di \ctyp{long}\\
-    \const{LONG\_MIN} &-2147483648  & minimo di \ctyp{long}\\
-    \const{ULONG\_MAX}& 4294967295  & massimo di \ctyp{unsigned long}\\
+    \const{MB\_LEN\_MAX}&       16  & Massima dimensione di un 
+                                      carattere esteso.\\
+    \const{CHAR\_BIT} &          8  & Numero di bit di \ctyp{char}.\\
+    \const{UCHAR\_MAX}&        255  & Massimo di \ctyp{unsigned char}.\\
+    \const{SCHAR\_MIN}&       -128  & Minimo di \ctyp{signed char}.\\
+    \const{SCHAR\_MAX}&        127  & Massimo di \ctyp{signed char}.\\
+    \const{CHAR\_MIN} &\footnotemark& Minimo di \ctyp{char}.\\
+    \const{CHAR\_MAX} &\footnotemark& Massimo di \ctyp{char}.\\
+    \const{SHRT\_MIN} &     -32768  & Minimo di \ctyp{short}.\\
+    \const{SHRT\_MAX} &      32767  & Massimo di \ctyp{short}.\\
+    \const{USHRT\_MAX}&      65535  & Massimo di \ctyp{unsigned short}.\\
+    \const{INT\_MAX}  & 2147483647  & Minimo di \ctyp{int}.\\
+    \const{INT\_MIN}  &-2147483648  & Minimo di \ctyp{int}.\\
+    \const{UINT\_MAX} & 4294967295  & Massimo di \ctyp{unsigned int}.\\
+    \const{LONG\_MAX} & 2147483647  & Massimo di \ctyp{long}.\\
+    \const{LONG\_MIN} &-2147483648  & Minimo di \ctyp{long}.\\
+    \const{ULONG\_MAX}& 4294967295  & Massimo di \ctyp{unsigned long}.\\
     \hline                
   \end{tabular}
   \caption{Costanti definite in \file{limits.h} in conformità allo standard
     \hline                
   \end{tabular}
   \caption{Costanti definite in \file{limits.h} in conformità allo standard
@@ -130,10 +130,10 @@ tab.~\ref{tab:sys_isoc90_macro}.
     \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\
     \hline
     \hline
     \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\
     \hline
     \hline
-    \const{LLONG\_MAX}& 9223372036854775807& massimo di \ctyp{long long}\\
-    \const{LLONG\_MIN}&-9223372036854775808& minimo di \ctyp{long long}\\
+    \const{LLONG\_MAX}& 9223372036854775807& Massimo di \ctyp{long long}.\\
+    \const{LLONG\_MIN}&-9223372036854775808& Minimo di \ctyp{long long}.\\
     \const{ULLONG\_MAX}&18446744073709551615&
     \const{ULLONG\_MAX}&18446744073709551615&
-    massimo di \ctyp{unsigned long long}\\
+                                    Massimo di \ctyp{unsigned long long}.\\
     \hline                
   \end{tabular}
   \caption{Macro definite in \file{limits.h} in conformità allo standard
     \hline                
   \end{tabular}
   \caption{Macro definite in \file{limits.h} in conformità allo standard
@@ -341,7 +341,8 @@ relative spiegazioni, si pu
                                   Valore massimo del tipo di dato
                                   \type{ssize\_t}.\\ 
       \texttt{\_SC\_CLK\_TCK}   & \const{CLK\_TCK} &
                                   Valore massimo del tipo di dato
                                   \type{ssize\_t}.\\ 
       \texttt{\_SC\_CLK\_TCK}   & \const{CLK\_TCK} &
-                                  Il numero di \textit{clock tick} al secondo,
+                                  Il numero di \itindex{clock~tick}
+                                  \textit{clock tick} al secondo, 
                                   cioè l'unità di misura del
                                   \itindex{process~time} \textit{process
                                     time} (vedi
                                   cioè l'unità di misura del
                                   \itindex{process~time} \textit{process
                                     time} (vedi
@@ -533,7 +534,7 @@ il manuale delle \acr{glibc} indica due diverse dimensioni,
 \const{\_UTSNAME\_LENGTH} per i campi standard e
 \const{\_UTSNAME\_DOMAIN\_LENGTH} per quello specifico per il nome di dominio;
 altri sistemi usano nomi diversi come \const{SYS\_NMLN} o \const{\_SYS\_NMLN}
 \const{\_UTSNAME\_LENGTH} per i campi standard e
 \const{\_UTSNAME\_DOMAIN\_LENGTH} per quello specifico per il nome di dominio;
 altri sistemi usano nomi diversi come \const{SYS\_NMLN} o \const{\_SYS\_NMLN}
-o \const{UTSLEN} che possono avere valori diversi.\footnote{Nel caso di Linux
+o \const{UTSLEN} che possono avere valori diversi.\footnote{nel caso di Linux
   \func{uname} corrisponde in realtà a 3 system call diverse, le prime due
   usano rispettivamente delle lunghezze delle stringhe di 9 e 65 byte; la
   terza usa anch'essa 65 byte, ma restituisce anche l'ultimo campo,
   \func{uname} corrisponde in realtà a 3 system call diverse, le prime due
   usano rispettivamente delle lunghezze delle stringhe di 9 e 65 byte; la
   terza usa anch'essa 65 byte, ma restituisce anche l'ultimo campo,
@@ -658,11 +659,14 @@ in \file{linux/sysctl.h},\footnote{indicando un file di definizioni si fa
 disponibile in \file{/proc/sys} è riportata inoltre nella documentazione
 inclusa nei sorgenti del kernel, nella directory \file{Documentation/sysctl}.
 
 disponibile in \file{/proc/sys} è riportata inoltre nella documentazione
 inclusa nei sorgenti del kernel, nella directory \file{Documentation/sysctl}.
 
-Ma oltre alle informazioni ottenibili da \func{sysctl} dentro \file{proc} 
-sono disponibili moltissime altre informazioni, fra cui ad esempio anche
-quelle fornite da \func{uname} (vedi sez.~\ref{sec:sys_config}) che sono
-mantenute nei file \file{ostype}, \file{hostname}, \file{osrelease},
-\file{version} e \file{domainname} di \file{/proc/kernel/}.
+Ma oltre alle informazioni ottenibili da \func{sysctl} dentro \file{proc} sono
+disponibili moltissime altre informazioni, fra cui ad esempio anche quelle
+fornite da \func{uname} (vedi sez.~\ref{sec:sys_config}) che sono mantenute
+nei file \procrelfile{/proc/sys/kernel}{ostype},
+\procrelfile{/proc/sys/kernel}{hostname},
+\procrelfile{/proc/sys/kernel}{osrelease},
+\procrelfile{/proc/sys/kernel}{version} e
+\procrelfile{/proc/sys/kernel}{domainname} di \file{/proc/sys/kernel/}.
 
 
 
 
 
 
@@ -906,8 +910,8 @@ file \conffile{/etc/fstab} ed \conffile{/etc/mtab}, che convenzionalmente sono
 usati in quasi tutti i sistemi unix-like per mantenere rispettivamente le
 informazioni riguardo ai filesystem da montare e a quelli correntemente
 montati. Le funzioni servono a leggere il contenuto di questi file in
 usati in quasi tutti i sistemi unix-like per mantenere rispettivamente le
 informazioni riguardo ai filesystem da montare e a quelli correntemente
 montati. Le funzioni servono a leggere il contenuto di questi file in
-opportune strutture \struct{fstab} e \struct{mntent}, e, per \file{/etc/mtab}
-per inserire e rimuovere le voci presenti nel file.
+opportune strutture \struct{fstab} e \struct{mntent}, e, per
+\conffile{/etc/mtab} per inserire e rimuovere le voci presenti nel file.
 
 In generale si dovrebbero usare queste funzioni (in particolare quelle
 relative a \conffile{/etc/mtab}), quando si debba scrivere un programma che
 
 In generale si dovrebbero usare queste funzioni (in particolare quelle
 relative a \conffile{/etc/mtab}), quando si debba scrivere un programma che
@@ -1434,6 +1438,7 @@ leggere l'uso delle risorse; esso pu
 \const{RUSAGE\_CHILDREN} per indicare l'insieme dei processi figli di cui si è
 ricevuto lo stato di terminazione. 
 
 \const{RUSAGE\_CHILDREN} per indicare l'insieme dei processi figli di cui si è
 ricevuto lo stato di terminazione. 
 
+% TODO previsto in futuro \const{RUSAGE\_THREAD}, verificare.
 
 \subsection{Limiti sulle risorse}
 \label{sec:sys_resource_limit}
 
 \subsection{Limiti sulle risorse}
 \label{sec:sys_resource_limit}
@@ -1558,6 +1563,9 @@ fatto solo fino al valore del secondo, che per questo viene detto \textit{hard
 \footnotetext{il limite su questa risorsa è stato introdotto con il kernel
   2.6.8.}
 
 \footnotetext{il limite su questa risorsa è stato introdotto con il kernel
   2.6.8.}
 
+% aggiungere i limiti che mancano come RLIMIT_RTTIME introdotto con il 2.6.25
+% vedi file include/asm-generic/resource.h
+
 In generale il superamento di un limite corrente\footnote{di norma quanto
   riportato in tab.~\ref{tab:sys_rlimit_values} fa riferimento a quanto
   avviene al superamento del limite corrente, con l'eccezione
 In generale il superamento di un limite corrente\footnote{di norma quanto
   riportato in tab.~\ref{tab:sys_rlimit_values} fa riferimento a quanto
   avviene al superamento del limite corrente, con l'eccezione
@@ -1585,8 +1593,8 @@ parte di un processo sono previste due funzioni, \funcd{getrlimit} e
   \bodydesc{Le funzioni ritornano 0 in caso di successo e -1 in caso di
     errore, nel qual caso \var{errno} assumerà uno dei valori:
     \begin{errlist}
   \bodydesc{Le funzioni ritornano 0 in caso di successo e -1 in caso di
     errore, nel qual caso \var{errno} assumerà uno dei valori:
     \begin{errlist}
-    \item[\errcode{EINVAL}] I valori per \param{resource} non sono validi.
-    \item[\errcode{EPERM}] Un processo senza i privilegi di amministratore ha
+    \item[\errcode{EINVAL}] i valori per \param{resource} non sono validi.
+    \item[\errcode{EPERM}] un processo senza i privilegi di amministratore ha
     cercato di innalzare i propri limiti.
     \end{errlist}
   ed \errval{EFAULT}.}
     cercato di innalzare i propri limiti.
     \end{errlist}
   ed \errval{EFAULT}.}
@@ -1744,7 +1752,7 @@ prototipo 
     \begin{errlist}
     \item[\errcode{EACCESS}] non si hanno i permessi per accedere a
       \param{pathname}.
     \begin{errlist}
     \item[\errcode{EACCESS}] non si hanno i permessi per accedere a
       \param{pathname}.
-    \item[\errcode{EPERM}] Il processo non ha privilegi sufficienti ad
+    \item[\errcode{EPERM}] il processo non ha privilegi sufficienti ad
       abilitare il \textit{BSD accounting}.
     \item[\errcode{ENOSYS}] il kernel non supporta il \textit{BSD accounting}.
     \item[\errcode{EUSER}] non sono disponibili nel kernel strutture per il
       abilitare il \textit{BSD accounting}.
     \item[\errcode{ENOSYS}] il kernel non supporta il \textit{BSD accounting}.
     \item[\errcode{EUSER}] non sono disponibili nel kernel strutture per il
@@ -1813,18 +1821,19 @@ rispettivamente chiamati \itindend{calendar~time} \textit{calendar time} e
   le date di modifica dei file o quelle di avvio dei processi. Per memorizzare
   questo tempo è stato riservato il tipo primitivo \type{time\_t}.
 \item[\textit{process time}] \itindex{process~time} detto talvolta
   le date di modifica dei file o quelle di avvio dei processi. Per memorizzare
   questo tempo è stato riservato il tipo primitivo \type{time\_t}.
 \item[\textit{process time}] \itindex{process~time} detto talvolta
-  \textsl{tempo di processore}.  Viene misurato in \textit{clock tick}. Un
-  tempo questo corrispondeva al numero di interruzioni effettuate dal timer di
-  sistema, adesso lo standard POSIX richiede che esso sia pari al valore della
-  costante \const{CLOCKS\_PER\_SEC}, che deve essere definita come 1000000,
-  qualunque sia la risoluzione reale dell'orologio di sistema e la frequenza
-  delle interruzioni del timer.\footnote{quest'ultima, come accennato in
-    sez.~\ref{sec:proc_hierarchy}, è invece data dalla costante \const{HZ}.}
-  Il dato primitivo usato per questo tempo è \type{clock\_t}, che ha quindi
-  una risoluzione del microsecondo. Il numero di tick al secondo può essere
-  ricavato anche attraverso \func{sysconf} (vedi sez.~\ref{sec:sys_sysconf}).
-  Il vecchio simbolo \const{CLK\_TCK} definito in \file{time.h} è ormai
-  considerato obsoleto.
+  \textsl{tempo di processore}.  Viene misurato in \itindex{clock~tick}
+  \textit{clock tick}. Un tempo questo corrispondeva al numero di interruzioni
+  effettuate dal timer di sistema, adesso lo standard POSIX richiede che esso
+  sia pari al valore della costante \const{CLOCKS\_PER\_SEC}, che deve essere
+  definita come 1000000, qualunque sia la risoluzione reale dell'orologio di
+  sistema e la frequenza delle interruzioni del timer.\footnote{quest'ultima,
+    come accennato in sez.~\ref{sec:proc_hierarchy}, è invece data dalla
+    costante \const{HZ}.}  Il dato primitivo usato per questo tempo è
+  \type{clock\_t}, che ha quindi una risoluzione del microsecondo. Il numero
+  di \itindex{clock~tick} \textit{tick} al secondo può essere ricavato anche
+  attraverso \func{sysconf} (vedi sez.~\ref{sec:sys_sysconf}).  Il vecchio
+  simbolo \const{CLK\_TCK} definito in \file{time.h} è ormai considerato
+  obsoleto.
 \end{basedescript}
 
 In genere si usa il \itindend{calendar~time} \textit{calendar time} per
 \end{basedescript}
 
 In genere si usa il \itindend{calendar~time} \textit{calendar time} per
@@ -1892,11 +1901,11 @@ utilizzato dallo stesso; il suo prototipo 
     caso di errore.}
 \end{prototype}
 
     caso di errore.}
 \end{prototype}
 
-La funzione restituisce il tempo in tick, quindi se si vuole il tempo in
-secondi occorre dividere il risultato per la costante
-\const{CLOCKS\_PER\_SEC}.\footnote{le \acr{glibc} seguono lo standard ANSI C,
-  POSIX richiede che \const{CLOCKS\_PER\_SEC} sia definito pari a 1000000
-  indipendentemente dalla risoluzione del timer di sistema.} In genere
+La funzione restituisce il tempo in \itindex{clock~tick} \texttt{clock tick},
+quindi se si vuole il tempo in secondi occorre dividere il risultato per la
+costante \const{CLOCKS\_PER\_SEC}.\footnote{le \acr{glibc} seguono lo standard
+  ANSI C, POSIX richiede che \const{CLOCKS\_PER\_SEC} sia definito pari a
+  1000000 indipendentemente dalla risoluzione del timer di sistema.} In genere
 \type{clock\_t} viene rappresentato come intero a 32 bit, il che comporta un
 valore massimo corrispondente a circa 72 minuti, dopo i quali il contatore
 riprenderà lo stesso valore iniziale.
 \type{clock\_t} viene rappresentato come intero a 32 bit, il che comporta un
 valore massimo corrispondente a circa 72 minuti, dopo i quali il contatore
 riprenderà lo stesso valore iniziale.
@@ -1908,8 +1917,9 @@ possono essere letti attraverso la funzione \funcd{times}, il cui prototipo 
 \begin{prototype}{sys/times.h}{clock\_t times(struct tms *buf)}
   Legge in \param{buf} il valore corrente dei tempi di processore.
   
 \begin{prototype}{sys/times.h}{clock\_t times(struct tms *buf)}
   Legge in \param{buf} il valore corrente dei tempi di processore.
   
-  \bodydesc{La funzione ritorna il numero di clock tick dall'avvio del sistema
-    in caso di successo e -1 in caso di errore.}
+  \bodydesc{La funzione ritorna il numero di \itindex{clock~tick}
+    \textit{clock tick} dall'avvio del sistema in caso di successo e -1 in
+    caso di errore.}
 \end{prototype}
 
 La funzione restituisce i valori di \textit{process time} del processo
 \end{prototype}
 
 La funzione restituisce i valori di \textit{process time} del processo
@@ -2150,9 +2160,10 @@ campi della struttura \struct{timex} pu
                                            PLL implementato dal kernel,
                                            specificato nel campo
                                            \var{constant} di \struct{timex}.\\ 
                                            PLL implementato dal kernel,
                                            specificato nel campo
                                            \var{constant} di \struct{timex}.\\ 
-    \const{ADJ\_TICK}           & 0x4000 & Imposta il valore dei tick del timer
-                                           in microsecondi, espresso nel campo
-                                           \var{tick} di \struct{timex}.\\ 
+    \const{ADJ\_TICK}           & 0x4000 & Imposta il valore dei \textit{tick}
+                                           \itindex{clock~tick} del timer in
+                                           microsecondi, espresso nel campo
+                                           \var{tick} di \struct{timex}.\\  
     \const{ADJ\_OFFSET\_SINGLESHOT}&0x8001&Imposta uno spostamento una tantum 
                                            dell'orologio secondo il valore del
                                            campo \var{offset} simulando il
     \const{ADJ\_OFFSET\_SINGLESHOT}&0x8001&Imposta uno spostamento una tantum 
                                            dell'orologio secondo il valore del
                                            campo \var{offset} simulando il
@@ -2431,7 +2442,7 @@ costante \val{EOF} (a seconda della funzione); ma questo valore segnala solo
 che c'è stato un errore, non il tipo di errore.
 
 Per riportare il tipo di errore il sistema usa la variabile globale
 che c'è stato un errore, non il tipo di errore.
 
 Per riportare il tipo di errore il sistema usa la variabile globale
-\var{errno},\footnote{L'uso di una variabile globale può comportare alcuni
+\var{errno},\footnote{l'uso di una variabile globale può comportare alcuni
   problemi (ad esempio nel caso dei thread) ma lo standard ISO C consente
   anche di definire \var{errno} come un \textit{modifiable lvalue}, quindi si
   può anche usare una macro, e questo è infatti il modo usato da Linux per
   problemi (ad esempio nel caso dei thread) ma lo standard ISO C consente
   anche di definire \var{errno} come un \textit{modifiable lvalue}, quindi si
   può anche usare una macro, e questo è infatti il modo usato da Linux per
@@ -2693,7 +2704,7 @@ che errori relativi alla stessa linea non vengano ripetuti.
 % LocalWords:  strftime thread EOF modifiable lvalue app errcode strerror LC at
 % LocalWords:  perror string errnum MESSAGES error message ErrCode strtol log
 % LocalWords:  program invocation argv printf print progname exit count fname
 % LocalWords:  strftime thread EOF modifiable lvalue app errcode strerror LC at
 % LocalWords:  perror string errnum MESSAGES error message ErrCode strtol log
 % LocalWords:  program invocation argv printf print progname exit count fname
-% LocalWords:  lineno one standardese Di
+% LocalWords:  lineno one standardese Di page Wed Wednesday Apr April PM AM
 
 
 
 
 
 
@@ -2701,3 +2712,4 @@ che errori relativi alla stessa linea non vengano ripetuti.
 %%% mode: latex
 %%% TeX-master: "gapil"
 %%% End: 
 %%% mode: latex
 %%% TeX-master: "gapil"
 %%% End: 
+% LocalWords:  CEST