X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=df7d3c8e4a3a0e46f774cc1f8cb12a7b682dfae5;hp=6d74cedd3b1de37080b3b2a066f314c23521178e;hb=c6c3ca02fdb433ef054e56f288d50d74ce8ec4ec;hpb=886e1105f5b014b7984a8416d6a8101259af16d6 diff --git a/system.tex b/system.tex index 6d74ced..df7d3c8 100644 --- a/system.tex +++ b/system.tex @@ -88,23 +88,23 @@ avere un valore minimo di 8. \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\ \hline \hline - \const{MB\_LEN\_MAX}& 16 & massima dimensione di un - carattere esteso\\ - \const{CHAR\_BIT} & 8 & bit di \ctyp{char}\\ - \const{UCHAR\_MAX}& 255 & massimo di \ctyp{unsigned char}\\ - \const{SCHAR\_MIN}& -128 & minimo di \ctyp{signed char}\\ - \const{SCHAR\_MAX}& 127 & massimo di \ctyp{signed char}\\ - \const{CHAR\_MIN} &\footnotemark& minimo di \ctyp{char}\\ - \const{CHAR\_MAX} &\footnotemark& massimo di \ctyp{char}\\ - \const{SHRT\_MIN} & -32768 & minimo di \ctyp{short}\\ - \const{SHRT\_MAX} & 32767 & massimo di \ctyp{short}\\ - \const{USHRT\_MAX}& 65535 & massimo di \ctyp{unsigned short}\\ - \const{INT\_MAX} & 2147483647 & minimo di \ctyp{int}\\ - \const{INT\_MIN} &-2147483648 & minimo di \ctyp{int}\\ - \const{UINT\_MAX} & 4294967295 & massimo di \ctyp{unsigned int}\\ - \const{LONG\_MAX} & 2147483647 & massimo di \ctyp{long}\\ - \const{LONG\_MIN} &-2147483648 & minimo di \ctyp{long}\\ - \const{ULONG\_MAX}& 4294967295 & massimo di \ctyp{unsigned long}\\ + \const{MB\_LEN\_MAX}& 16 & Massima dimensione di un + carattere esteso.\\ + \const{CHAR\_BIT} & 8 & Numero di bit di \ctyp{char}.\\ + \const{UCHAR\_MAX}& 255 & Massimo di \ctyp{unsigned char}.\\ + \const{SCHAR\_MIN}& -128 & Minimo di \ctyp{signed char}.\\ + \const{SCHAR\_MAX}& 127 & Massimo di \ctyp{signed char}.\\ + \const{CHAR\_MIN} &\footnotemark& Minimo di \ctyp{char}.\\ + \const{CHAR\_MAX} &\footnotemark& Massimo di \ctyp{char}.\\ + \const{SHRT\_MIN} & -32768 & Minimo di \ctyp{short}.\\ + \const{SHRT\_MAX} & 32767 & Massimo di \ctyp{short}.\\ + \const{USHRT\_MAX}& 65535 & Massimo di \ctyp{unsigned short}.\\ + \const{INT\_MAX} & 2147483647 & Minimo di \ctyp{int}.\\ + \const{INT\_MIN} &-2147483648 & Minimo di \ctyp{int}.\\ + \const{UINT\_MAX} & 4294967295 & Massimo di \ctyp{unsigned int}.\\ + \const{LONG\_MAX} & 2147483647 & Massimo di \ctyp{long}.\\ + \const{LONG\_MIN} &-2147483648 & Minimo di \ctyp{long}.\\ + \const{ULONG\_MAX}& 4294967295 & Massimo di \ctyp{unsigned long}.\\ \hline \end{tabular} \caption{Costanti definite in \file{limits.h} in conformità allo standard @@ -130,10 +130,10 @@ tab.~\ref{tab:sys_isoc90_macro}. \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\ \hline \hline - \const{LLONG\_MAX}& 9223372036854775807& massimo di \ctyp{long long}\\ - \const{LLONG\_MIN}&-9223372036854775808& minimo di \ctyp{long long}\\ + \const{LLONG\_MAX}& 9223372036854775807& Massimo di \ctyp{long long}.\\ + \const{LLONG\_MIN}&-9223372036854775808& Minimo di \ctyp{long long}.\\ \const{ULLONG\_MAX}&18446744073709551615& - massimo di \ctyp{unsigned long long}\\ + Massimo di \ctyp{unsigned long long}.\\ \hline \end{tabular} \caption{Macro definite in \file{limits.h} in conformità allo standard @@ -341,7 +341,8 @@ relative spiegazioni, si pu Valore massimo del tipo di dato \type{ssize\_t}.\\ \texttt{\_SC\_CLK\_TCK} & \const{CLK\_TCK} & - Il numero di \textit{clock tick} al secondo, + Il numero di \itindex{clock~tick} + \textit{clock tick} al secondo, cioè l'unità di misura del \itindex{process~time} \textit{process time} (vedi @@ -1437,6 +1438,7 @@ leggere l'uso delle risorse; esso pu \const{RUSAGE\_CHILDREN} per indicare l'insieme dei processi figli di cui si è ricevuto lo stato di terminazione. +% TODO previsto in futuro \const{RUSAGE\_THREAD}, verificare. \subsection{Limiti sulle risorse} \label{sec:sys_resource_limit} @@ -1561,6 +1563,9 @@ fatto solo fino al valore del secondo, che per questo viene detto \textit{hard \footnotetext{il limite su questa risorsa è stato introdotto con il kernel 2.6.8.} +% aggiungere i limiti che mancano come RLIMIT_RTTIME introdotto con il 2.6.25 +% vedi file include/asm-generic/resource.h + In generale il superamento di un limite corrente\footnote{di norma quanto riportato in tab.~\ref{tab:sys_rlimit_values} fa riferimento a quanto avviene al superamento del limite corrente, con l'eccezione @@ -1816,18 +1821,19 @@ rispettivamente chiamati \itindend{calendar~time} \textit{calendar time} e le date di modifica dei file o quelle di avvio dei processi. Per memorizzare questo tempo è stato riservato il tipo primitivo \type{time\_t}. \item[\textit{process time}] \itindex{process~time} detto talvolta - \textsl{tempo di processore}. Viene misurato in \textit{clock tick}. Un - tempo questo corrispondeva al numero di interruzioni effettuate dal timer di - sistema, adesso lo standard POSIX richiede che esso sia pari al valore della - costante \const{CLOCKS\_PER\_SEC}, che deve essere definita come 1000000, - qualunque sia la risoluzione reale dell'orologio di sistema e la frequenza - delle interruzioni del timer.\footnote{quest'ultima, come accennato in - sez.~\ref{sec:proc_hierarchy}, è invece data dalla costante \const{HZ}.} - Il dato primitivo usato per questo tempo è \type{clock\_t}, che ha quindi - una risoluzione del microsecondo. Il numero di tick al secondo può essere - ricavato anche attraverso \func{sysconf} (vedi sez.~\ref{sec:sys_sysconf}). - Il vecchio simbolo \const{CLK\_TCK} definito in \file{time.h} è ormai - considerato obsoleto. + \textsl{tempo di processore}. Viene misurato in \itindex{clock~tick} + \textit{clock tick}. Un tempo questo corrispondeva al numero di interruzioni + effettuate dal timer di sistema, adesso lo standard POSIX richiede che esso + sia pari al valore della costante \const{CLOCKS\_PER\_SEC}, che deve essere + definita come 1000000, qualunque sia la risoluzione reale dell'orologio di + sistema e la frequenza delle interruzioni del timer.\footnote{quest'ultima, + come accennato in sez.~\ref{sec:proc_hierarchy}, è invece data dalla + costante \const{HZ}.} Il dato primitivo usato per questo tempo è + \type{clock\_t}, che ha quindi una risoluzione del microsecondo. Il numero + di \itindex{clock~tick} \textit{tick} al secondo può essere ricavato anche + attraverso \func{sysconf} (vedi sez.~\ref{sec:sys_sysconf}). Il vecchio + simbolo \const{CLK\_TCK} definito in \file{time.h} è ormai considerato + obsoleto. \end{basedescript} In genere si usa il \itindend{calendar~time} \textit{calendar time} per @@ -1895,11 +1901,11 @@ utilizzato dallo stesso; il suo prototipo caso di errore.} \end{prototype} -La funzione restituisce il tempo in tick, quindi se si vuole il tempo in -secondi occorre dividere il risultato per la costante -\const{CLOCKS\_PER\_SEC}.\footnote{le \acr{glibc} seguono lo standard ANSI C, - POSIX richiede che \const{CLOCKS\_PER\_SEC} sia definito pari a 1000000 - indipendentemente dalla risoluzione del timer di sistema.} In genere +La funzione restituisce il tempo in \itindex{clock~tick} \texttt{clock tick}, +quindi se si vuole il tempo in secondi occorre dividere il risultato per la +costante \const{CLOCKS\_PER\_SEC}.\footnote{le \acr{glibc} seguono lo standard + ANSI C, POSIX richiede che \const{CLOCKS\_PER\_SEC} sia definito pari a + 1000000 indipendentemente dalla risoluzione del timer di sistema.} In genere \type{clock\_t} viene rappresentato come intero a 32 bit, il che comporta un valore massimo corrispondente a circa 72 minuti, dopo i quali il contatore riprenderà lo stesso valore iniziale. @@ -1911,8 +1917,9 @@ possono essere letti attraverso la funzione \funcd{times}, il cui prototipo \begin{prototype}{sys/times.h}{clock\_t times(struct tms *buf)} Legge in \param{buf} il valore corrente dei tempi di processore. - \bodydesc{La funzione ritorna il numero di clock tick dall'avvio del sistema - in caso di successo e -1 in caso di errore.} + \bodydesc{La funzione ritorna il numero di \itindex{clock~tick} + \textit{clock tick} dall'avvio del sistema in caso di successo e -1 in + caso di errore.} \end{prototype} La funzione restituisce i valori di \textit{process time} del processo @@ -2153,9 +2160,10 @@ campi della struttura \struct{timex} pu PLL implementato dal kernel, specificato nel campo \var{constant} di \struct{timex}.\\ - \const{ADJ\_TICK} & 0x4000 & Imposta il valore dei tick del timer - in microsecondi, espresso nel campo - \var{tick} di \struct{timex}.\\ + \const{ADJ\_TICK} & 0x4000 & Imposta il valore dei \textit{tick} + \itindex{clock~tick} del timer in + microsecondi, espresso nel campo + \var{tick} di \struct{timex}.\\ \const{ADJ\_OFFSET\_SINGLESHOT}&0x8001&Imposta uno spostamento una tantum dell'orologio secondo il valore del campo \var{offset} simulando il @@ -2696,7 +2704,7 @@ che errori relativi alla stessa linea non vengano ripetuti. % LocalWords: strftime thread EOF modifiable lvalue app errcode strerror LC at % LocalWords: perror string errnum MESSAGES error message ErrCode strtol log % LocalWords: program invocation argv printf print progname exit count fname -% LocalWords: lineno one standardese Di +% LocalWords: lineno one standardese Di page Wed Wednesday Apr April PM AM @@ -2704,3 +2712,4 @@ che errori relativi alla stessa linea non vengano ripetuti. %%% mode: latex %%% TeX-master: "gapil" %%% End: +% LocalWords: CEST