Domande da passare a Kerrisk
[gapil.git] / system.tex
index 22f0eb152e054fc8de196c0adb3687404ffa7b3e..4ef44d3351f8efa5caac717cd0a6ca74c3e215b4 100644 (file)
@@ -1594,8 +1594,7 @@ specifico segnale o il fallimento della \textit{system call} che lo ha
 provocato. A questo comportamento generico fanno eccezione \const{RLIMIT\_CPU}
 in cui si ha in comportamento diverso per il superamento dei due limiti e
 \const{RLIMIT\_CORE} che influenza soltanto la dimensione o l'eventuale
-creazione dei file di \itindex{core~dump} \textit{core dump} (vedi
-sez.~\ref{sec:sig_standard}).
+creazione dei file di \textit{core dump} (vedi sez.~\ref{sec:sig_standard}).
 
 Per permettere di leggere e di impostare i limiti di utilizzo delle risorse da
 parte di un processo sono previste due funzioni di sistema, \funcd{getrlimit}
@@ -1675,11 +1674,10 @@ riportati nel seguente elenco:
   resta 2Gb, altrimenti la risorsa si dà per non limitata.
 
 \item[\const{RLIMIT\_CORE}] Questa risorsa indica, in byte, la massima
-  dimensione per un file di \itindex{core~dump} \textit{core dump} (vedi
+  dimensione per un file di \textit{core dump} (vedi
   sez.~\ref{sec:sig_standard}) creato nella terminazione di un processo. File
   di dimensioni maggiori verranno troncati a questo valore, mentre con un
-  valore nullo si bloccherà la creazione dei \itindex{core~dump} \textit{core
-    dump}.
+  valore nullo si bloccherà la creazione dei \textit{core dump}.
 
 \item[\const{RLIMIT\_CPU}] Questa risorsa indica, in secondi, il massimo tempo
   di CPU (vedi sez.~\ref{sec:sys_cpu_times}) che il processo può usare. Il
@@ -2058,19 +2056,21 @@ gestione di data e ora.
 \subsection{La misura del tempo in Unix}
 \label{sec:sys_unix_time}
 
+\itindbeg{calendar~time}
+
 Tradizionalmente nei sistemi unix-like sono sempre stati previsti due tipi
 distinti di tempi, caratterizzati da altrettante modalità di misura ed
 espressi con diversi tipi di dati, chiamati rispettivamente \textit{calendar
   time} e \textit{process time}, secondo le seguenti definizioni:
 \begin{basedescript}{\desclabelwidth{1.5cm}\desclabelstyle{\nextlinelabel}}
 
-\item[\textit{calendar time}] \itindex{calendar~time} detto anche
-  \textsl{tempo di calendario}, \textsl{tempo d'orologio} o \textit{tempo
-    reale}. Si tratta di un tempo assoluto o di un intervallo di tempo come lo
-  intende normalmente per le misure fatte con un orologio. Per esprimere
+\item[\textit{calendar time}] detto anche \textsl{tempo di calendario}, 
+  \textsl{tempo d'orologio} o \textit{tempo reale}. Si tratta di un
+  tempo assoluto o di un intervallo di tempo come lo intende
+  normalmente per le misure fatte con un orologio. Per esprimere
   questo tempo è stato riservato il tipo \type{time\_t}, e viene
-  tradizionalmente misurato in secondi a partire dalla mezzanotte del primo
-  gennaio 1970, data che viene chiamata \textit{the Epoch}.
+  tradizionalmente misurato in secondi a partire dalla mezzanotte del
+  primo gennaio 1970, data che viene chiamata \textit{the Epoch}.
 
 \item[\textit{process time}] \itindex{process~time} detto anche \textsl{tempo
     di processore} o \textsl{tempo di CPU}. Si tratta del tempo impiegato da
@@ -2082,14 +2082,15 @@ espressi con diversi tipi di dati, chiamati rispettivamente \textit{calendar
   precedente indica soltanto un intervallo di durata.
 \end{basedescript}
 
-Il \itindex{calendar~time} \textit{calendar time} viene sempre mantenuto
-facendo riferimento al cosiddetto \textit{tempo universale coordinato} UTC,
-anche se talvolta viene usato il cosiddetto GMT (\textit{Greenwich Mean Time})
-dato che l'UTC corrisponde all'ora locale di Greenwich. Si tratta del tempo su
-cui viene mantenuto il cosiddetto \textsl{orologio di sistema}, e viene usato
-per indicare i tempi dei file (quelli di sez.~\ref{sec:file_file_times}) o le
-date di avvio dei processi, ed è il tempo che viene usato dai demoni che
-compiono lavori amministrativi ad orari definito, come \cmd{cron}.
+Il \textit{calendar time} viene sempre mantenuto facendo riferimento
+al cosiddetto \textit{tempo universale coordinato} UTC, anche se
+talvolta viene usato il cosiddetto GMT (\textit{Greenwich Mean Time})
+dato che l'UTC corrisponde all'ora locale di Greenwich. Si tratta del
+tempo su cui viene mantenuto il cosiddetto \textsl{orologio di
+  sistema}, e viene usato per indicare i tempi dei file (quelli di
+sez.~\ref{sec:file_file_times}) o le date di avvio dei processi, ed è
+il tempo che viene usato dai demoni che compiono lavori amministrativi
+ad orari definito, come \cmd{cron}.
 
 Si tenga presente che questo tempo è mantenuto dal kernel e non è detto che
 corrisponda al tempo misurato dall'orologio hardware presente su praticamente
@@ -2111,6 +2112,8 @@ opportune informazioni di localizzazione (specificate in
 di sistema misuri sempre un tempo monotono crescente come nella realtà, anche
 in presenza di cambi di fusi orari.
 
+\itindend{calendar~time}
+
 Il \itindex{process~time} \textit{process time} invece indica sempre una
 misura di un lasso di tempo e viene usato per tenere conto dei tempi di
 esecuzione dei processi. Esso viene sempre diviso in \textit{user time} e
@@ -2119,7 +2122,7 @@ infatti calcola tre tempi:
 \begin{basedescript}{\desclabelwidth{2.2cm}\desclabelstyle{\nextlinelabel}}
 \item[\textit{clock time}] il tempo \textsl{reale}, viene chiamato anche
   \textit{wall clock time} o \textit{elapsed time}, passato dall'avvio del
-  processo. Questo tempo fa riferimento al \itindex{calendar~time}
+  processo. Questo tempo fa riferimento al 
   \textit{calendar time} e dice la durata effettiva dell'esecuzione del
   processo, ma chiaramente dipende dal carico del sistema e da quanti altri
   processi stanno girando nello stesso momento.
@@ -2194,12 +2197,12 @@ sez.~\ref{sec:sig_timer_adv}.
 \itindbeg{process~time}
 
 Di norma tutte le operazioni del sistema fanno sempre riferimento al
-\itindex{calendar~time} \textit{calendar time}, l'uso del \textit{process
-  time} è riservato a quei casi in cui serve conoscere i tempi di esecuzione
-di un processo (ad esempio per valutarne l'efficienza). In tal caso infatti
-fare ricorso al \textit{calendar time} è inutile in quanto il tempo può essere
-trascorso mentre un altro processo era in esecuzione o in attesa del risultato
-di una operazione di I/O.
+\textit{calendar time}, l'uso del \textit{process time} è riservato a
+quei casi in cui serve conoscere i tempi di esecuzione di un processo
+(ad esempio per valutarne l'efficienza). In tal caso infatti fare
+ricorso al \textit{calendar time} è inutile in quanto il tempo può
+essere trascorso mentre un altro processo era in esecuzione o in
+attesa del risultato di una operazione di I/O.
 
 La funzione più semplice per leggere il \textit{process time} di un processo è
 \funcd{clock}, che da una valutazione approssimativa del tempo di CPU