X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=e8bd3703984be60bdee25011de9cd1a1d2126474;hp=6410f1a2dd1241f976c6b456e5480fc983590e04;hb=b72f18d024a942eca58a8109c60479d835ee7350;hpb=0c7fb286c2c1b480ed81f7ce8d506b179e5d291e diff --git a/system.tex b/system.tex index 6410f1a..e8bd370 100644 --- a/system.tex +++ b/system.tex @@ -2,24 +2,75 @@ \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} @@ -43,13 +94,13 @@ definizioni: 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 @@ -95,7 +146,7 @@ presenta una serie di problemi nel caso lo si debba usare con i thread. 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 @@ -234,3 +285,8 @@ o la macro (\texttt{\small 15--17}) associate a quel codice. \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} +