\label{cha:system}
In questo capitolo si è raccolta le trattazione delle varie funzioni
-concernenti la gestione generale del sistema che permettono di trattare
-le varie informazioni ad esso connesse, come i limiti sulle risorse, la
-gestione dei tempi, degli errori, degli utenti ed in generale dei vari
-parametri di configurazione del sistema.
+concernenti la gestione generale del sistema che permettono di trattare le
+varie informazioni ad esso connesse, i limiti sulle risorse, la gestione dei
+tempi, degli errori e degli utenti ed in generale la gestione dei vari
+parametri di configurazione dei vari componenti del sistema.
+\section{La gestione della configurazione del sistema}
+\label{sec:sys_config}
+
+
+\subsection{Opzioni e configurazione del systema}
+\label{sec:sys_sys_config}
+
+La funzione \func{sysconf} ...
+
+\subsection{La configurazione dei file}
+\label{sec:sys_file_config}
+
+La funzione \func{statfs} ...
+
+La funzione \func{pathconf} ...
\section{La gestione delle risorse e dei limiti di sistema}
\label{sec:sys_limits}
-In questa sezione esamimeremo le funzioni che permettono di gestire le
-varie risorse associate ad un processo ed i relativi limiti, e quelle
-relatica al sistema in quanto tale.
+In questa sezione esamimeremo le funzioni che permettono di gestire le varie
+risorse associate ad un processo ed i relativi limiti, e quelle relatica al
+sistema in quanto tale.
+
+
+\begin{figure}[!htb]
+ \footnotesize
+ \centering
+ \begin{minipage}[c]{15cm}
+ \begin{lstlisting}[labelstep=0,frame=,indent=1cm]{}
+struct rusage {
+ struct timeval ru_utime; /* user time used */
+ struct timeval ru_stime; /* system time used */
+ long ru_maxrss; /* maximum resident set size */
+ long ru_ixrss; /* integral shared memory size */
+ long ru_idrss; /* integral unshared data size */
+ long ru_isrss; /* integral unshared stack size */
+ long ru_minflt; /* page reclaims */
+ long ru_majflt; /* page faults */
+ long ru_nswap; /* swaps */
+ long ru_inblock; /* block input operations */
+ long ru_oublock; /* block output operations */
+ long ru_msgsnd; /* messages sent */
+ long ru_msgrcv; /* messages received */
+ long ru_nsignals; ; /* signals received */
+ long ru_nvcsw; /* voluntary context switches */
+ long ru_nivcsw; /* involuntary context switches */
+};
+ \end{lstlisting}
+ \end{minipage}
+ \normalsize
+ \caption{La struttura \var{rusage} per la lettura delle informazioni dei
+ delle risorse usate da un processo.}
+ \label{fig:sys_rusage_struct}
+\end{figure}
+
+
\var{tms\_utime}, \var{tms\_stime}, \var{tms\_cutime}, \var{tms\_uetime}
+
+
\section{La gestione dei tempi del sistema}
\label{sec:sys_time}
dato che l'UTC corrisponde all'ora locale di Greenwich. È il tempo su cui
viene mantenuto l'orologio del calcolatore, e viene usato ad esempio per
indicare le date di modifica dei file o quelle di avvio dei processi. Per
- memorizzare questo tempo è stato riservato il tipo primitivo \func{time\_t}.
+ memorizzare questo tempo è stato riservato il tipo primitivo \type{time\_t}.
\item \textit{process time}: talvolta anche detto tempo di CPU. Viene misurato
in \textit{clock tick}, corrispondenti al numero di interruzioni effettuate
dal timer di sistema, e che per Linux avvengono ogni centesimo di
secondo\footnote{eccetto per la piattaforma alpha dove avvengono ogni
millesimo di secondo}. Il dato primitivo usato per questo tempo è
- \func{clock\_t}, inoltre la costante \macro{HZ} restituisce la frequenza di
+ \type{clock\_t}, inoltre la costante \macro{HZ} restituisce la frequenza di
operazione del timer, e corrisponde dunque al numero di tick al secondo. Lo
standard POSIX definisce allo stesso modo la costante \macro{CLK\_TCK});
questo valore può comunque essere ottenuto con \func{sysconf} (vedi
Esamineremo in questa sezione le sue caratteristiche principali.
-\subsection{La variabile \func{errno}}
+\subsection{La variabile \var{errno}}
\label{sec:sys_errno}
Quasi tutte le funzioni delle librerie del C sono in grado di individuare e
\caption{Codice per la stampa del messaggio di errore standard.}
\label{fig:sys_err_mess}
\end{figure}
+
+
+\section{La gestione di utenti e gruppi}
+\label{sec:sys_user_group}
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "gapil"
+%%% End: