From: Simone Piccardi Date: Fri, 11 Sep 2015 21:01:45 +0000 (+0000) Subject: Reindicizzazioni X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=commitdiff_plain;h=8e1c72a56bbdf56f1b1590101495c5066e6cb247 Reindicizzazioni --- diff --git a/filedir.tex b/filedir.tex index bb2636a..10ba423 100644 --- a/filedir.tex +++ b/filedir.tex @@ -3407,8 +3407,8 @@ fig.~\ref{fig:file_stat_struct}. Il significato di questi tempi e dei relativi campi della struttura \struct{stat} è illustrato nello schema di tab.~\ref{tab:file_file_times}, dove è anche riportato un esempio delle funzioni che effettuano cambiamenti su di essi. Il valore del tempo è espresso -nel cosiddetto \itindex{calendar~time} \textit{calendar time}, su cui -torneremo in dettaglio in sez.~\ref{sec:sys_time}. +nel cosiddetto \textit{calendar time}, su cui torneremo in dettaglio in +sez.~\ref{sec:sys_time}. \begin{table}[htb] \centering diff --git a/intro.tex b/intro.tex index 6c73242..611bc37 100644 --- a/intro.tex +++ b/intro.tex @@ -884,7 +884,8 @@ infinita serie di problemi di portabilità. \type{dev\_t} & Numero di dispositivo (vedi sez.~\ref{sec:file_mknod}).\\ \type{gid\_t} & Identificatore di un gruppo (vedi sez.~\ref{sec:proc_access_id}).\\ - \type{ino\_t} & Numero di \itindex{inode} \textit{inode}.\\ + \type{ino\_t} & Numero di \textit{inode} + (vedi sez.~\ref{sec:file_vfs_work}).\\ \type{key\_t} & Chiave per il System V IPC (vedi sez.~\ref{sec:ipc_sysv_generic}).\\ \type{loff\_t} & Posizione corrente in un file.\\ @@ -898,8 +899,7 @@ infinita serie di problemi di portabilità. \type{size\_t} & Dimensione di un oggetto.\\ \type{ssize\_t} & Dimensione in numero di byte ritornata dalle funzioni.\\ \type{ptrdiff\_t}& Differenza fra due puntatori.\\ - \type{time\_t} & Numero di secondi (in \itindex{calendar~time} - \textit{calendar time}, vedi + \type{time\_t} & Numero di secondi (in \textit{calendar time}, vedi sez.~\ref{sec:sys_time}).\\ \type{uid\_t} & Identificatore di un utente (vedi sez.~\ref{sec:proc_access_id}).\\ diff --git a/system.tex b/system.tex index 22f0eb1..68848c1 100644 --- a/system.tex +++ b/system.tex @@ -2058,19 +2058,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 +2084,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 +2114,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 +2124,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 +2199,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