X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=bd5822bda1efad5c501e1a5465467e73eef83b59;hp=ea7f38edb384f3fb4f0192214e74dee4137120a3;hb=487b554b85cda92d10367d5af69a0355b9b2329d;hpb=3b20c7a29e2e82592ae588cb9640cfb7dc4afb8a diff --git a/system.tex b/system.tex index ea7f38e..bd5822b 100644 --- a/system.tex +++ b/system.tex @@ -1,16 +1,40 @@ \chapter{La gestione del sistema} \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. +\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. + + +\var{tms\_utime}, \var{tms\_stime}, \var{tms\_cutime}, \var{tms\_uetime} + +\section{La gestione dei tempi del sistema} +\label{sec:sys_time} + +In questa sezione tratteremo le varie funzioni per la gestione delle +date e del tempo in un sistema unix-like, e quelle per convertire i vari +tempi nelle differenti rappresentazioni che vengono utilizzate. + + \subsection{La misura del tempo in unix} -\label{sec:intro_unix_time} +\label{sec:sys_unix_time} -Storicamente i sistemi unix-like hanno sempre mantenuto due distinti valori -per i tempi all'interno del sistema, essi sono rispettivamente chiamati -\textit{calendar time} e \textit{process time}, secondo le definizioni: +Storicamente i sistemi unix-like hanno sempre mantenuto due distinti +valori per i tempi all'interno del sistema, essi sono rispettivamente +chiamati \textit{calendar time} e \textit{process time}, secondo le +definizioni: \begin{itemize} \item \textit{calendar time}: è il numero di secondi dalla mezzanotte del primo gennaio 1970, in tempo universale coordinato (o UTC), data che viene @@ -60,8 +84,10 @@ time viene chiamato \textit{CPU time}. + + \section{La gestione degli errori} -\label{sec:intro_errors} +\label{sec:sys_errors} La gestione degli errori è in genere una materia complessa. Inoltre il modello utilizzato dai sistema unix-like è basato sull'architettura a processi, e @@ -87,7 +113,7 @@ Per riportare il tipo di errore il sistema usa la variabile globale anche di definire \var{errno} come un \textit{modifiable lvalue}, quindi si può anche usare una macro, e questo è infatti il modo usato da Linux per renderla locale ai singoli thread }, definita nell'header \file{errno.h}, la -variabile è in genere definita come \var{volatile} dato che può essere +variabile è in genere definita come \type{volatile} dato che può essere cambiata in modo asincrono da un segnale (per una descrizione dei segnali si veda \secref{cha:signals}), ma dato che un manipolatore di segnale scritto bene salva e ripristina il valore della variabile, di questo non è necessario @@ -115,7 +141,7 @@ verificato il fallimento della funzione attraverso il suo codice di ritorno. \subsection{Le funzioni \func{strerror} e \func{perror}} -\label{sec:intro_strerror} +\label{sec:sys_strerror} Benché gli errori siano identificati univocamente dal valore numerico di \var{errno} le librerie provvedono alcune funzioni e variabili utili per @@ -137,8 +163,8 @@ provvista\footnote{questa funzione \begin{prototype}{string.h} {char * strerror\_r(int errnum, char * buff, size\_t size)} La funzione è analoga a \func{strerror} ma ritorna il messaggio in un buffer - specificato da \var{buff} di lunghezza massima (compreso il terminatore) - \var{size}. + specificato da \param{buff} di lunghezza massima (compreso il terminatore) + \param{size}. \end{prototype} \noindent che utilizza un buffer che il singolo thread deve allocare, per evitare i @@ -206,10 +232,5 @@ o la macro (\texttt{\small 15--17}) associate a quel codice. } \end{lstlisting} \caption{Codice per la stampa del messaggio di errore standard.} - \label{fig:intro_err_mess} + \label{fig:sys_err_mess} \end{figure} - - -\subsection{Valori e limiti del sistema} -\label{sec:sys_limits} -