X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=ec2f1b6a14fc0df116a0c36bc1fddfc5fc52616e;hp=f6e6d50d0e31728fc10ae938fed98292ef6fdf0e;hb=0345bbfd866e46d3c76d0df7f37a83f9a3924926;hpb=5a59e67204ff436dceb6a13ed39e876aea3945a8 diff --git a/system.tex b/system.tex index f6e6d50..ec2f1b6 100644 --- a/system.tex +++ b/system.tex @@ -84,7 +84,7 @@ avere un valore minimo di 8. \footnotesize \begin{tabular}[c]{|l|r|l|} \hline - \textbf{Macro}&\textbf{Valore}&\textbf{Significato}\\ + \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\ \hline \hline \const{MB\_LEN\_MAX}& 16 & massima dimensione di un @@ -126,7 +126,7 @@ A questi valori lo standard ISO C90 ne aggiunge altri tre, relativi al tipo \footnotesize \begin{tabular}[c]{|l|r|l|} \hline - \textbf{Macro}&\textbf{Valore}&\textbf{Significato}\\ + \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\ \hline \hline \const{LLONG\_MAX}& 9223372036854775807& massimo di \ctyp{long long}\\ @@ -159,7 +159,7 @@ file, riportate in \tabref{tab:sys_file_macro}). \footnotesize \begin{tabular}[c]{|l|r|p{8cm}|} \hline - \textbf{Macro}&\textbf{Valore}&\textbf{Significato}\\ + \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\ \hline \hline \const{ARG\_MAX} &131072& dimensione massima degli argomenti @@ -203,7 +203,7 @@ riportati in \tabref{tab:sys_posix1_general}. \footnotesize \begin{tabular}[c]{|l|r|p{8cm}|} \hline - \textbf{Macro}&\textbf{Valore}&\textbf{Significato}\\ + \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\ \hline \hline \const{\_POSIX\_ARG\_MAX} & 4096& dimensione massima degli argomenti @@ -249,10 +249,10 @@ valori ottenuti da \func{sysconf}. \textbf{Macro}&\textbf{Significato}\\ \hline \hline - \const{\_POSIX\_JOB\_CONTROL}& il sistema supporta il + \macro{\_POSIX\_JOB\_CONTROL}& il sistema supporta il \textit{job control} (vedi \secref{sec:sess_job_control}).\\ - \const{\_POSIX\_SAVED\_IDS} & il sistema supporta gli identificatori del + \macro{\_POSIX\_SAVED\_IDS} & il sistema supporta gli identificatori del gruppo \textit{saved} (vedi \secref{sec:proc_access_id}) per il controllo di accesso dei processi\\ @@ -340,10 +340,10 @@ relative spiegazioni, si pu \texttt{\_SC\_CLK\_TCK}& \const{CLK\_TCK} & Il numero di \textit{clock tick} al secondo, cioè l'unità di misura del \textit{process time} (vedi \secref{sec:sys_unix_time}).\\ - \texttt{\_SC\_JOB\_CONTROL}&\const{\_POSIX\_JOB\_CONTROL}& + \texttt{\_SC\_JOB\_CONTROL}&\macro{\_POSIX\_JOB\_CONTROL}& Indica se è supportato il \textit{job control} (vedi \secref{sec:sess_job_control}) in stile POSIX.\\ - \texttt{\_SC\_SAVED\_IDS}&\const{\_POSIX\_SAVED\_IDS}& + \texttt{\_SC\_SAVED\_IDS}&\macro{\_POSIX\_SAVED\_IDS}& Indica se il sistema supporta i \textit{saved id} (vedi \secref{sec:proc_access_id}).\\ \texttt{\_SC\_VERSION}& \const{\_POSIX\_VERSION} & @@ -400,7 +400,7 @@ riportate in \tabref{tab:sys_file_macro}. \footnotesize \begin{tabular}[c]{|l|r|l|} \hline - \textbf{Macro}&\textbf{Valore}&\textbf{Significato}\\ + \textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\ \hline \hline \const{LINK\_MAX} &8 & numero massimo di link a un file\\ @@ -414,7 +414,7 @@ riportate in \tabref{tab:sys_file_macro}. del terminale (vedi \secref{sec:term_design}).\\ \hline \end{tabular} - \caption{Macro per i limiti sulle caratteristiche dei file.} + \caption{Costanti per i limiti sulle caratteristiche dei file.} \label{tab:sys_file_macro} \end{table} @@ -447,7 +447,7 @@ analoghe di \tabref{tab:sys_posix1_general}. % \const{\_POSIX\_DELAYTIMER\_MAX}& 32 & \\ \hline \end{tabular} - \caption{Macro dei valori minimi delle caratteristiche dei file per la + \caption{Costanti dei valori minimi delle caratteristiche dei file per la conformità allo standard POSIX.1.} \label{tab:sys_posix1_file} \end{table} @@ -498,7 +498,7 @@ suo prototipo Restituisce informazioni sul sistema nella struttura \param{info}. \bodydesc{La funzione ritorna 0 in caso di successo e -1 in caso di - fallimento, nel qual caso \var{errno} assumerà il valore \const{EFAULT}.} + fallimento, nel qual caso \var{errno} assumerà il valore \errval{EFAULT}.} \end{prototype} La funzione, che viene usata dal comando \cmd{uname}, restituisce le @@ -516,7 +516,7 @@ indicano rispettivamente: \end{itemize*} l'ultima informazione è stata aggiunta di recente e non è prevista dallo standard POSIX, essa è accessibile, come mostrato in \figref{fig:sys_utsname}, -solo definendo \const{\_GNU\_SOURCE}. +solo definendo \macro{\_GNU\_SOURCE}. \begin{figure}[!htb] \footnotesize \centering @@ -601,7 +601,7 @@ Legge o scrive uno dei parametri di sistema. quando non si è specificato sufficiente spazio per ricevere il valore di un parametro. \end{errlist} - ed inoltre \const{EFAULT}. + ed inoltre \errval{EFAULT}. } \end{functions} @@ -719,8 +719,8 @@ sulla directory \param{target}. sbagliato. \item[\errcode{EMFILE}] la tabella dei device \textit{dummy} è piena. \end{errlist} - ed inoltre \const{ENOTDIR}, \const{EFAULT}, \const{ENOMEM}, - \const{ENAMETOOLONG}, \const{ENOENT} o \const{ELOOP}.} + ed inoltre \errval{ENOTDIR}, \errval{EFAULT}, \errval{ENOMEM}, + \errval{ENAMETOOLONG}, \errval{ENOENT} o \errval{ELOOP}.} \end{prototype} La funzione monta sulla directory \param{target}, detta \textit{mount point}, @@ -825,8 +825,8 @@ Una volta che non si voglia pi \item[\errcode{EBUSY}] \param{target} è la directory di lavoro di qualche processo, o contiene dei file aperti, o un altro mount point. \end{errlist} - ed inoltre \const{ENOTDIR}, \const{EFAULT}, \const{ENOMEM}, - \const{ENAMETOOLONG}, \const{ENOENT} o \const{ELOOP}.} + ed inoltre \errval{ENOTDIR}, \errval{EFAULT}, \errval{ENOMEM}, + \errval{ENAMETOOLONG}, \errval{ENOENT} o \errval{ELOOP}.} \end{prototype} \noindent la funzione prende il nome della directory su cui il filesystem è montato e non il file o il dispositivo che è stato montato,\footnote{questo è @@ -879,9 +879,9 @@ informazioni riguardo al filesystem su cui si trova un certo file, sono \item[\errcode{ENOSYS}] il filesystem su cui si trova il file specificato non supporta la funzione. \end{errlist} - e \const{EFAULT} ed \const{EIO} per entrambe, \const{EBADF} per - \func{fstatfs}, \const{ENOTDIR}, \const{ENAMETOOLONG}, \const{ENOENT}, - \const{EACCES}, \const{ELOOP} per \func{statfs}.} + e \errval{EFAULT} ed \errval{EIO} per entrambe, \errval{EBADF} per + \func{fstatfs}, \errval{ENOTDIR}, \errval{ENAMETOOLONG}, \errval{ENOENT}, + \errval{EACCES}, \errval{ELOOP} per \func{statfs}.} \end{functions} Queste funzioni permettono di ottenere una serie di informazioni generali @@ -903,8 +903,8 @@ struct statfs { long f_blocks; /* blocchi totali nel filesystem */ long f_bfree; /* blocchi liberi nel filesystem */ long f_bavail; /* blocchi liberi agli utenti normali */ - long f_files; /* inodes totali nel filesystem */ - long f_ffree; /* inodes liberi nel filesystem */ + long f_files; /* inode totali nel filesystem */ + long f_ffree; /* inode liberi nel filesystem */ fsid_t f_fsid; /* filesystem id */ long f_namelen; /* lunghezza massima dei nomi dei file */ long f_spare[6]; /* riservati per uso futuro */ @@ -1276,7 +1276,7 @@ corrispondente al valore del campo \var{ut\_id} specificato in \param{ut}. \centering \begin{tabular}[c]{|l|p{8cm}|} \hline - \textbf{Funzione} & \textbf{Significato}\\ + \textbf{Valore} & \textbf{Significato}\\ \hline \hline \const{EMPTY} & Non contiene informazioni valide. \\ @@ -1438,7 +1438,7 @@ funzione \func{getrusage}, il cui prototipo \bodydesc{La funzione ritorna 0 in caso di successo e -1 in caso di errore, - nel qual caso \var{errno} può essere \const{EINVAL} o \const{EFAULT}.} + nel qual caso \var{errno} può essere \errval{EINVAL} o \errval{EFAULT}.} \end{functions} L'argomento \param{who} permette di specificare il processo di cui si vuole @@ -1509,7 +1509,7 @@ prototipi sono: \item[\errcode{EPERM}] Un processo senza i privilegi di amministratore ha cercato di innalzare i propri limiti. \end{errlist} - ed \const{EFAULT}.} + ed \errval{EFAULT}.} \end{functions} Entrambe le funzioni permettono di specificare su quale risorsa si vuole @@ -1612,7 +1612,7 @@ dimensione delle pagine di memoria; il suo prototipo sono previsti errori.} \end{prototype} -La funzione è prevista in SVr4, 4.4BSD e SUSv2, anche se questo ultimo +La funzione è prevista in SVr4, BSD 4.4 e SUSv2, anche se questo ultimo standard la etichetta come obsoleta, mentre lo standard POSIX 1003.1-2001 la ha eliminata. In Linux è implementata come una system call nelle architetture in cui essa è necessaria, ed in genere restituisce il valore del simbolo @@ -1661,11 +1661,11 @@ Il suo prototipo \end{prototype} La funzione restituisce in ciascun elemento di \param{loadavg} il numero medio -di processi attivi sulla coda dello scheduler, calcolato su un diverso -intervalli di tempo. Il numero di intervalli che si vogliono leggere è -specificato da \param{nelem}, dato che nel caso di Linux il carico viene -valutato solo su tre intervalli (corrispondenti a 1, 5 e 15 minuti), questo è -anche il massimo valore che può essere assegnato a questo argomento. +di processi attivi sulla coda dello scheduler\index{scheduler}, calcolato su +un diverso intervalli di tempo. Il numero di intervalli che si vogliono +leggere è specificato da \param{nelem}, dato che nel caso di Linux il carico +viene valutato solo su tre intervalli (corrispondenti a 1, 5 e 15 minuti), +questo è anche il massimo valore che può essere assegnato a questo argomento. @@ -1840,7 +1840,7 @@ in nel suddetto formato; il suo prototipo Legge il valore corrente del \textit{calendar time}. \bodydesc{La funzione ritorna il valore del \textit{calendar time} in caso - di successo e -1 in caso di errore, che può essere solo \const{EFAULT}.} + di successo e -1 in caso di errore, che può essere solo \errval{EFAULT}.} \end{prototype} \noindent dove \param{t}, se non nullo, deve essere l'indirizzo di una variabile su cui duplicare il valore di ritorno. @@ -1852,7 +1852,7 @@ sia necessario; il suo prototipo Imposta a \param{t} il valore corrente del \textit{calendar time}. \bodydesc{La funzione ritorna 0 in caso di successo e -1 in caso di errore, - che può essere \const{EFAULT} o \const{EPERM}.} + che può essere \errval{EFAULT} o \errval{EPERM}.} \end{prototype} \noindent dato che modificare l'ora ha un impatto su tutto il sistema il cambiamento dell'orologio è una operazione privilegiata e questa funzione @@ -1882,8 +1882,8 @@ sono: \bodydesc{Entrambe le funzioni restituiscono 0 in caso di successo e -1 in caso di errore, nel qual caso \var{errno} può assumere i valori - \const{EINVAL} \const{EFAULT} e per \func{settimeofday} anche - \const{EPERM}.} + \errval{EINVAL} \errval{EFAULT} e per \func{settimeofday} anche + \errval{EPERM}.} \end{functions} Queste funzioni utilizzano una struttura di tipo \var{timeval}, la cui @@ -1961,7 +1961,7 @@ modificare anche la velocit \bodydesc{La funzione restituisce lo stato dell'orologio (un valore $>0$) in caso di successo e -1 in caso di errore, nel qual caso \var{errno} - assumerà i valori \const{EFAULT}, \const{EINVAL} ed \const{EPERM}.} + assumerà i valori \errval{EFAULT}, \errval{EINVAL} ed \errval{EPERM}.} \end{prototype} La funzione richiede una struttura di tipo \var{timex}, la cui definizione, @@ -2140,7 +2140,7 @@ struttura che si utilizza quando si deve specificare un tempo a partire dai dati naturali (ora e data), dato che essa consente anche di trattare la gestione del fuso orario e dell'ora legale.\footnote{in realtà i due campi \var{tm\_gmtoff} e \var{tm\_zone} sono estensioni previste da BSD e dalle - \acr{glibc}, che, quando è definita \const{\_BSD\_SOURCE}, hanno la forma in + \acr{glibc}, che, quando è definita \macro{\_BSD\_SOURCE}, hanno la forma in \figref{fig:sys_tm_struct}.} Le funzioni per la gestione del \textit{broken-down time} sono varie e vanno @@ -2344,11 +2344,11 @@ 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 \ctyp{volatile} dato che può essere -cambiata in modo asincrono da un segnale (si veda \ref{sec:sig_sigchld} per un -esempio, ricordando quanto trattato in \ref{sec:proc_race_cond}), ma dato che -un manipolatore di segnale scritto bene salva e ripristina il valore della -variabile, di questo non è necessario preoccuparsi nella programmazione +variabile è in genere definita come \direct{volatile} dato che può essere +cambiata in modo asincrono da un segnale (si veda \secref{sec:sig_sigchld} per +un esempio, ricordando quanto trattato in \secref{sec:proc_race_cond}), ma +dato che un manipolatore di segnale scritto bene salva e ripristina il valore +della variabile, di questo non è necessario preoccuparsi nella programmazione normale. I valori che può assumere \var{errno} sono riportati in \capref{cha:errors}, @@ -2386,7 +2386,7 @@ prima funzione che si pu \bodydesc{La funzione ritorna il puntatore alla stringa col messaggio di errore in caso di successo e \val{null} in caso di errore, nel qual caso - \var{errno} assumerà il valore \const{EINVAL} se si è specificato un + \var{errno} assumerà il valore \errval{EINVAL} se si è specificato un numero di errore non valido.} \end{prototype} @@ -2394,7 +2394,7 @@ In generale \func{strerror} viene usata passando \var{errno} come parametro; nel caso si specifichi un codice sbagliato verrà restituito un messaggio di errore sconosciuto, e la funzione restituirà come errore \errcode{EINVAL}. La funzione tiene conto del valore della variabile di ambiente -\const{LC\_MESSAGES} per usare eventuali traduzioni dei messaggi d'errore +\val{LC\_MESSAGES} per usare eventuali traduzioni dei messaggi d'errore nella localizzazione presente. La funzione utilizza una stringa statica che non deve essere modificata dal @@ -2412,8 +2412,8 @@ thread (compreso il terminatore) \param{size}. \bodydesc{La funzione restituisce il puntatore alla stringa; in caso di - errore \var{errno} oltre a \const{EINVAL} può assumere anche il valore - \const{ERANGE} per indicare che non c'è sufficiente memoria per contenere + errore \var{errno} oltre a \errval{EINVAL} può assumere anche il valore + \errval{ERANGE} per indicare che non c'è sufficiente memoria per contenere la stringa di descrizione.} \end{prototype} \noindent