può vedere per la maggior parte questi limiti attengono alle dimensioni dei
dati interi, che sono in genere fissati dall'architettura hardware, le
analoghe informazioni per i dati in virgola mobile sono definite a parte, ed
-accessibili includendo \headfile{float.h}.
+accessibili includendo \headfiled{float.h}.
\begin{table}[htb]
\centering
Tradizionalmente le informazioni utilizzate nella gestione di utenti e gruppi
(password, corrispondenze fra nomi simbolici e \ids{UID} numerici, home
directory, ecc.) venivano registrate all'interno dei due file di testo
-\conffile{/etc/passwd} ed \conffile{/etc/group}, il cui formato è descritto
+\conffiled{/etc/passwd} ed \conffiled{/etc/group}, il cui formato è descritto
dalle relative pagine del manuale\footnote{nella quinta sezione, quella dei
file di configurazione (esistono comandi corrispondenti), una trattazione
sistemistica dell'intero argomento coperto in questa sezione si consulti
In realtà oltre a questi due file da molto tempo gran parte dei sistemi
unix-like usano il cosiddetto sistema delle \textit{shadow password} che
-prevede anche i due file \conffile{/etc/shadow} e \conffile{/etc/gshadow}, in
+prevede anche i due file \conffiled{/etc/shadow} e \conffiled{/etc/gshadow}, in
cui sono state spostate le informazioni di autenticazione (ed inserite alcune
estensioni di gestione avanzata) per toglierle dagli altri file che devono
poter essere letti da qualunque processo per poter effettuare l'associazione
autenticazione vengono ottenute attraverso PAM) relative all'utente
specificato attraverso il suo \ids{UID} o il nome di login. Entrambe le
funzioni restituiscono un puntatore ad una struttura di tipo \struct{passwd}
-la cui definizione (anch'essa eseguita in \headfile{pwd.h}) è riportata in
+la cui definizione (anch'essa eseguita in \headfiled{pwd.h}) è riportata in
fig.~\ref{fig:sys_passwd_struct}, dove è pure brevemente illustrato il
significato dei vari campi.
sottostanti.}
\end{funcproto}
-
Il comportamento di tutte queste funzioni è assolutamente identico alle
precedenti che leggono le informazioni sugli utenti, l'unica differenza è che
in questo caso le informazioni vengono restituite in una struttura di tipo
il default che è \sysfile{/var/run/utmp} il cui nome, così come una serie di
altri valori di default per i \textit{pathname} di uso più comune, viene
mantenuto nei valori di una serie di costanti definite includendo
-\headfile{paths.h}, in particolare quelle che ci interessano sono:
+\headfiled{paths.h}, in particolare quelle che ci interessano sono:
\begin{basedescript}{\desclabelwidth{2.0cm}}
\item[\const{\_PATH\_UTMP}] specifica il file che contiene il registro per gli
utenti correntemente collegati, questo è il valore che viene usato se non si
altre funzioni definite nello standard che usano la struttura \struct{utmpx}
la \acr{glibc} definisce anche una funzione \funcm{updwtmpx}, che come in
precedenza è identica a \func{updwtmp} con la sola differenza di richiedere
-l'uso di \headfile{utmpx.h} e di una struttura \struct{utmpx} come secondo
+l'uso di \headfiled{utmpx.h} e di una struttura \struct{utmpx} come secondo
argomento.
Come abbiamo accennato in sez.~\ref{sec:proc_wait} le informazioni riguardo
l'utilizzo delle risorse da parte di un processo è mantenuto in una struttura
di tipo \struct{rusage}, la cui definizione (che si trova in
-\headfile{sys/resource.h}) è riportata in fig.~\ref{fig:sys_rusage_struct}. Si
-ricordi che questa è una delle informazioni preservate attraverso una
-\func{exec}.
+\headfiled{sys/resource.h}) è riportata in
+fig.~\ref{fig:sys_rusage_struct}. Si ricordi che questa è una delle
+informazioni preservate attraverso una \func{exec}.
\begin{figure}[!htb]
\footnotesize
sistema viene mantenuto sempre in UTC e che la conversione all'ora locale del
proprio fuso orario viene effettuata dalle funzioni di libreria utilizzando le
opportune informazioni di localizzazione (specificate in
-\conffile{/etc/timezone}). In questo modo si ha l'assicurazione che l'orologio
+\conffiled{/etc/timezone}). In questo modo si ha l'assicurazione che l'orologio
di sistema misuri sempre un tempo monotono crescente come nella realtà, anche
in presenza di cambi di fusi orari.
definito in \headfile{time.h} è ormai considerato obsoleto e non deve essere
usato.
+\constbeg{HZ}
In realtà tutti calcoli dei tempi vengono effettuati dal kernel per il
cosiddetto \textit{software clock}, utilizzando il \textit{timer di sistema} e
facendo i conti in base al numero delle interruzioni generate dello stesso, i
in realtà questa granularità viene calcolata in maniera indipendente usando la
costante del kernel \const{USER\_HZ}.
+\constend{HZ}
+
Fino al kernel 2.6.21 la durata di un \textit{jiffy} costituiva la risoluzione
massima ottenibile nella misura dei tempi impiegabile in una \textit{system
call} (ad esempio per i timeout). Con il 2.6.21 e l'introduzione degli
\end{table}
La funzione richiede come argomento il puntatore ad una struttura di tipo
-\struct{timex}, la cui definizione, effettuata in \headfile{sys/timex.h}, è
+\struct{timex}, la cui definizione, effettuata in \headfiled{sys/timex.h}, è
riportata in fig.~\ref{fig:sys_timex_struct} per i campi che interessano la
possibilità di essere modificati documentati anche nella pagina di manuale. In
realtà la struttura è stata estesa con ulteriori campi, i cui valori sono
chiamando direttamente la funzione \funcd{tzset}, il cui prototipo è:
\begin{funcproto}{
-\fhead{sys/timex.h}
+\fhead{time.h}
\fdecl{void tzset(void)}
\fdesc{Imposta le variabili globali della \textit{timezone}.}
}
La funzione inizializza le variabili di fig.~\ref{fig:sys_tzname} a partire
dal valore della variabile di ambiente \envvar{TZ}, se quest'ultima non è
-definita verrà usato il file \conffile{/etc/localtime}. La variabile
+definita verrà usato il file \conffiled{/etc/localtime}. La variabile
\var{tzname} contiene due stringhe, che indicano i due nomi standard della
\itindex{timezone} \textit{timezone} corrente. La prima è il nome per l'ora
solare, la seconda per l'ora legale. Anche se in fig.~\ref{fig:sys_tzname}
anche una macro, e questo è infatti il metodo usato da Linux per renderla
locale ai singoli \itindex{thread} \textit{thread}.
-La variabile è in genere definita come \direct{volatile} dato che può essere
+La variabile è in genere definita come \dirct{volatile} dato che può essere
cambiata in modo asincrono da un segnale, per un esempio si veda
sez.~\ref{sec:sig_sigchld} ricordando quanto trattato in
sez.~\ref{sec:proc_race_cond}). Dato che un gestore di segnale scritto bene si