X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=64ac8c9e36897a252f6b8e66c21ba7534509f716;hp=c68686fcc5d9cfdd3d4e517f516bc04780ddd8fc;hb=46d99fe1ba3465af43877a5ce09712831246687f;hpb=247c7ba624f39b283f9e85816c0616348f39c1b6 diff --git a/system.tex b/system.tex index c68686f..64ac8c9 100644 --- a/system.tex +++ b/system.tex @@ -35,11 +35,11 @@ quelle della gestione dei file. Quando si devono determinare le le caratteristiche generali del sistema ci si trova di fronte a diverse possibilità; alcune di queste infatti possono dipendere dall'architettura dell'hardware (come le dimensioni dei tipi -interi), o dal sistema operativo (come la presenza o meno dei \textit{saved - id}), altre invece possono dipendere dalle opzioni con cui si è costruito -il sistema (ad esempio da come si è compilato il kernel), o dalla -configurazione del medesimo; per questo motivo in generale sono necessari due -tipi diversi di funzionalità: +interi), o dal sistema operativo (come la presenza o meno del gruppo degli +identificatori \textit{saved}), altre invece possono dipendere dalle opzioni +con cui si è costruito il sistema (ad esempio da come si è compilato il +kernel), o dalla configurazione del medesimo; per questo motivo in generale +sono necessari due tipi diversi di funzionalità: \begin{itemize*} \item la possibilità di determinare limiti ed opzioni al momento della compilazione. @@ -241,9 +241,10 @@ valori ottenuti da \func{sysconf}. \hline \macro{\_POSIX\_JOB\_CONTROL}& il sistema supporta il \textit{job control} (vedi - \secref{sec:sess_xxx}).\\ - \macro{\_POSIX\_SAVED\_IDS} & il sistema supporta i \textit{saved id} - (vedi \secref{sec:proc_access_id}). + \secref{sec:sess_job_control}).\\ + \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\\ \macro{\_POSIX\_VERSION} & fornisce la versione dello standard POSIX.1 supportata nel formato YYYYMML (ad esempio @@ -263,15 +264,15 @@ incluso automaticamente all'interno di \file{limits.h}). Di questi vale la pena menzionare alcune macro di uso comune, (riportate in \tabref{tab:sys_posix1_other}), che non indicano un valore specifico, ma denotano la presenza di alcune funzionalità nel sistema (come il supporto del -\textit{job control} o dei \textit{saved id}). +\textit{job control} o degli identificatori del gruppo \textit{saved}). Oltre allo standard POSIX.1, anche lo standard POSIX.2 definisce una serie di altre costanti. Siccome queste sono principalmente attinenti a limiti relativi alle applicazioni di sistema presenti (come quelli su alcuni parametri delle espressioni regolari o del comando \cmd{bc}), non li tratteremo esplicitamente, se ne trova una menzione completa nell'header file -\file{bits/posix2\_lim.h}, e alcuni di loro sono descritti nella man page di -\func{sysconf} e nel manuale delle \acr{glibc}. +\file{bits/posix2\_lim.h}, e alcuni di loro sono descritti nella pagina di +manuale di \func{sysconf} e nel manuale delle \acr{glibc}. \subsection{La funzione \func{sysconf}} @@ -331,7 +332,7 @@ relative spiegazioni, si pu \textit{process time} (vedi \secref{sec:sys_unix_time}).\\ \texttt{\_SC\_JOB\_CONTROL}&\macro{\_POSIX\_JOB\_CONTROL}& Indica se è supportato il \textit{job control} (vedi - \secref{sec:sess_xxx}) in stile POSIX.\\ + \secref{sec:sess_job_control}) in stile POSIX.\\ \texttt{\_SC\_SAVED\_IDS}&\macro{\_POSIX\_SAVED\_IDS}& Indica se il sistema supporta i \textit{saved id} (vedi \secref{sec:proc_access_id}).\\ @@ -487,7 +488,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} viene impostata a \macro{EFAULT}.} + fallimento, nel qual caso \var{errno} assumerà il valore \macro{EFAULT}.} \end{prototype} La funzione, che viene usata dal comando \cmd{uname}, restituisce le @@ -504,7 +505,7 @@ indicano rispettivamente: \item il nome del domino. \end{itemize*} l'ultima informazione è stata aggiunta di recente e non è prevista dallo -standard POSIX, essa è accessibile, come mostrato in \figref{fig:sig_stack_t}, +standard POSIX, essa è accessibile, come mostrato in \figref{fig:sys_utsname}, solo definendo \macro{\_GNU\_SOURCE}. \begin{figure}[!htb] @@ -534,11 +535,11 @@ In generale si tenga presente che le dimensioni delle stringe di una \macro{\_UTSNAME\_LENGTH} per i campi standard e \macro{\_UTSNAME\_DOMAIN\_LENGTH} per quello specifico per il nome di dominio; altri sistemi usano nomi diversi come \macro{SYS\_NMLN} o \macro{\_SYS\_NMLN} -o \macro{UTSLEN} che possono avere valori diversi. Nel caso di Linux +o \macro{UTSLEN} che possono avere valori diversi.\footnote{Nel caso di Linux \func{uname} corrisponde in realtà a 3 system call diverse, le prime due usano rispettivamente delle lunghezze delle stringhe di 9 e 65 byte; la terza usa anch'essa 65 byte, ma restituisce anche l'ultimo campo, \var{domainname}, con -una lunghezza di 257 byte. +una lunghezza di 257 byte.} \section{Opzioni e configurazione del sistema} @@ -555,11 +556,9 @@ da uno standard, ogni sistema pu configurazione, che, non essendo mai fissi e variando da sistema a sistema, non sono stati inclusi nella standardizzazione della sezione precedente. Per questi occorre, oltre al meccanismo di impostazione, pure un meccanismo di -lettura. - -Affronteremo questi argomenti in questa sezione, insieme alle funzioni che si -usano per il controllo di altre caratteristiche generali del sistema, come -quelle per la gestione dei filesystem e di utenti e gruppi. +lettura. Affronteremo questi argomenti in questa sezione, insieme alle +funzioni che si usano per il controllo di altre caratteristiche generali del +sistema, come quelle per la gestione dei filesystem e di utenti e gruppi. \subsection{La funzione \func{sysctl} ed il filesystem \file{/proc}} @@ -578,7 +577,7 @@ l'implementazione Legge o scrive uno dei parametri di sistema. \bodydesc{La funzione restituisce 0 in caso di successo e -1 in caso di - errore, nel qual caso \var{errno} viene impostata ai valori: + errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EPERM}] il processo non ha il permesso di accedere ad uno dei componenti nel cammino specificato per il parametro, o non ha il permesso @@ -807,7 +806,7 @@ Una volta che non si voglia pi Smonta il filesystem montato sulla directory \param{target}. \bodydesc{La funzione ritorna 0 in caso di successo e -1 in caso di - fallimento, nel qual caso \var{errno} viene impostata a: + fallimento, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EPERM}] il processo non ha i privilegi di amministratore. \item[\macro{EBUSY}] \param{target} è la directory di lavoro di qualche @@ -862,7 +861,7 @@ informazioni riguardo al filesystem su cui si trova un certo file, sono posto il file specificato. \bodydesc{Le funzioni ritornano 0 in caso di successo e -1 in caso di - errore, nel qual caso \var{errno} viene impostata ai valori: + errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{ENOSYS}] il filesystem su cui si trova il file specificato non supporta la funzione. @@ -1122,7 +1121,8 @@ capacit completa. Per questo motivo l'uso di queste funzioni è deprecato in favore dell'uso di PAM, ci limiteremo pertanto ad elencarle in \tabref{tab:sys_passwd_func}, rimandando chi fosse interessato alle rispettive -man page e al manuale delle \acr{glibc} per i dettagli del loro funzionamento. +pagine di manuale e al manuale delle \acr{glibc} per i dettagli del loro +funzionamento. @@ -1490,7 +1490,7 @@ sono: Imposta il limite per la risorsa \param{resource}. \bodydesc{Le funzioni ritornano 0 in caso di successo e -1 in caso di - errore, nel qual caso \var{errno} viene impostata ai valori: + errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EINVAL}] I valori per \param{resource} non sono validi. \item[\macro{EPERM}] Un processo senza i privilegi di amministratore ha @@ -1868,7 +1868,7 @@ sono: Imposta il tempo di sistema. \bodydesc{Entrambe le funzioni restituiscono 0 in caso di successo e -1 in - caso di errore, nel qual caso \var{errno} può assumere il valori + caso di errore, nel qual caso \var{errno} può assumere i valori \macro{EINVAL} \macro{EFAULT} e per \func{settimeofday} anche \macro{EPERM}.} \end{functions} @@ -2372,8 +2372,8 @@ prima funzione che si pu \bodydesc{La funzione ritorna il puntatore alla stringa col messaggio di errore in caso di successo e \macro{NULL} in caso di errore, nel qual caso - \var{errno} sarà impostata a \macro{EINVAL} se si è specificato un numero di - errore non valido.} + \var{errno} assumerà il valore \macro{EINVAL} se si è specificato un + numero di errore non valido.} \end{prototype} In generale \func{strerror} viene usata passando \var{errno} come parametro; @@ -2388,7 +2388,7 @@ programma e che \func{strerror}; per questo motivo non è rientrante e nel caso si usino i thread è provvista\footnote{questa funzione è la versione prevista dalle \acr{glibc}, ed effettivamente definita in \file{string.h}, ne esiste una - analoga nello standard SUSv3 (quella riportata dalla man page), che + analoga nello standard SUSv3 (quella riportata dalla pagina di manuale), che restituisce \code{int} al posto di \code{char *}, e che tronca la stringa restituita a \param{size}.} una versione apposita: \begin{prototype}{string.h}