X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=d2382b4ca0cfaaa31a494c552dde543c012f76a4;hp=6410f1a2dd1241f976c6b456e5480fc983590e04;hb=89ab23ea8770a3b4c7a617acf1aae071ce87c8f1;hpb=0c7fb286c2c1b480ed81f7ce8d506b179e5d291e diff --git a/system.tex b/system.tex index 6410f1a..d2382b4 100644 --- a/system.tex +++ b/system.tex @@ -1,25 +1,101 @@ -\chapter{La gestione del sistema} +\chapter{La gestione del sistema, delle risorse, e degli errori} \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 configurazione del sistema} +\label{sec:sys_config} -\section{La gestione delle risorse e dei limiti di sistema} + +\subsection{Opzioni e configurazione del sistema} +\label{sec:sys_sys_config} + +La funzione \func{sysconf} ... + + +\subsection{Limiti e parametri di sistema} +\label{sec:sys_sys_limits} + + +\subsection{La configurazione dei filesystem} +\label{sec:sys_file_config} + +La funzione \func{statfs} ... + +La funzione \func{pathconf} ... + + + + +\section{Limitazione ed uso delle risorse} \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. + + + +\subsection{L'uso delle risorse} +\label{sec:sys_resource_use} + + +\subsection{Limiti sulle risorse} +\label{sec:sys_resource_limit} + + +\subsection{Le risorse di memoria} +\label{sec:sys_memory_res} + + +\subsection{Le risorse di processore} +\label{sec:sys_cpu_load} + + + +\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 +119,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 +171,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 +310,13 @@ 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} + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "gapil" +%%% End: