X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=d9b86d27071e46c7fce9e150949b347c8db4bd6b;hp=200aa9469d79eccb6bf5924747eb95a84388bec4;hb=b38fb9f5c8fb8360f7ac296baa8f4a0bdd692d1c;hpb=997a10619163980437d438ba7a4d8dda3fc56d98 diff --git a/system.tex b/system.tex index 200aa94..d9b86d2 100644 --- a/system.tex +++ b/system.tex @@ -391,7 +391,7 @@ riportate in tab.~\ref{tab:sys_file_macro}. \const{LINK\_MAX} &8 & numero massimo di link a un file\\ \const{NAME\_MAX}& 14 & lunghezza in byte di un nome di file. \\ \const{PATH\_MAX}& 256 & lunghezza in byte di un - \index{\textit{pathname}}\textit{pathname}.\\ + \itindex{pathname}\textit{pathname}.\\ \const{PIPE\_BUF}&4096 & byte scrivibili atomicamente in una pipe (vedi sez.~\ref{sec:ipc_pipes}).\\ \const{MAX\_CANON}&255 & dimensione di una riga di terminale in modo @@ -422,7 +422,7 @@ le analoghe di tab.~\ref{tab:sys_posix1_general}. \const{\_POSIX\_LINK\_MAX} &8 & numero massimo di link a un file.\\ \const{\_POSIX\_NAME\_MAX}& 14 & lunghezza in byte di un nome di file. \\ \const{\_POSIX\_PATH\_MAX}& 256 & lunghezza in byte di un - \index{\textit{pathname}}\textit{pathname}.\\ + \itindex{pathname}\textit{pathname}.\\ \const{\_POSIX\_PIPE\_BUF}& 512 & byte scrivibili atomicamente in una pipe.\\ \const{\_POSIX\_MAX\_CANON}&255 & dimensione di una riga di @@ -465,13 +465,13 @@ E si noti come la funzione in questo caso richieda un argomento che specifichi a quale file si fa riferimento, dato che il valore del limite cercato può variare a seconda del filesystem. Una seconda versione della funzione, \funcd{fpathconf}, opera su un file descriptor invece che su un -\index{\textit{pathname}}\textit{pathname}. Il suo prototipo è: +\itindex{pathname}\textit{pathname}. Il suo prototipo è: \begin{prototype}{unistd.h}{long fpathconf(int fd, int name)} Restituisce il valore del parametro \param{name} per il file \param{fd}. \bodydesc{È identica a \func{pathconf} solo che utilizza un file descriptor - invece di un \index{\textit{pathname}}\textit{pathname}; pertanto gli - errori restituiti cambiano di conseguenza.} + invece di un \itindex{pathname}\textit{pathname}; pertanto gli errori + restituiti cambiano di conseguenza.} \end{prototype} \noindent ed il suo comportamento è identico a quello di \func{pathconf}. @@ -589,8 +589,8 @@ maniera gerarchica all'interno di un albero;\footnote{si tenga presente che occorrerà includere anche i file \file{linux/unistd.h} e \file{linux/sysctl.h}.} per accedere ad uno di essi occorre specificare un cammino attraverso i vari nodi dell'albero, in maniera analoga a come avviene -per la risoluzione di un \index{\textit{pathname}}\textit{pathname} (da cui -l'uso alternativo del filesystem \file{/proc}, che vedremo dopo). +per la risoluzione di un \itindex{pathname}\textit{pathname} (da cui l'uso +alternativo del filesystem \file{/proc}, che vedremo dopo). Ciascun nodo dell'albero è identificato da un valore intero, ed il cammino che arriva ad identificare un parametro specifico è passato alla funzione @@ -633,11 +633,11 @@ forma di file alcune delle strutture interne del kernel stesso. In particolare l'albero dei valori di \func{sysctl} viene presentato in forma di file nella directory \file{/proc/sys}, cosicché è possibile accedervi -specificando un \index{\textit{pathname}}\textit{pathname} e leggendo e -scrivendo sul file corrispondente al parametro scelto. Il kernel si occupa di -generare al volo il contenuto ed i nomi dei file corrispondenti, e questo ha -il grande vantaggio di rendere accessibili i vari parametri a qualunque -comando di shell e di permettere la navigazione dell'albero dei valori. +specificando un \itindex{pathname}\textit{pathname} e leggendo e scrivendo sul +file corrispondente al parametro scelto. Il kernel si occupa di generare al +volo il contenuto ed i nomi dei file corrispondenti, e questo ha il grande +vantaggio di rendere accessibili i vari parametri a qualunque comando di shell +e di permettere la navigazione dell'albero dei valori. Alcune delle corrispondenze dei file presenti in \file{/proc/sys} con i valori di \func{sysctl} sono riportate nei commenti del codice che può essere trovato @@ -689,7 +689,7 @@ sulla directory \param{target}. \textit{mount point} o di spostarlo quando \param{target} non è un \textit{mount point} o è \file{/}. \item[\errcode{EACCES}] non si ha il permesso di accesso su uno dei - componenti del \index{\textit{pathname}}\textit{pathname}, o si è cercato + componenti del \itindex{pathname}\textit{pathname}, o si è cercato di montare un filesystem disponibile in sola lettura senza averlo specificato o il device \param{source} è su un filesystem montato con l'opzione \const{MS\_NODEV}. @@ -933,10 +933,9 @@ dall'altra con il diffondersi delle reti la necessit informazioni degli utenti e dei gruppi per insiemi di macchine, in modo da mantenere coerenti i dati, ha portato anche alla necessità di poter recuperare e memorizzare dette informazioni su supporti diversi, introducendo il sistema -del \index{\textit{Name~Service~Switch}}\textit{Name Service Switch} che -tratteremo brevemente più avanti (in sez.~\ref{sec:sock_resolver}) dato che la -maggior parte delle sua applicazioni sono relative alla risoluzioni di nomi di -rete. +del \itindex{Name~Service~Switch}\textit{Name Service Switch} che tratteremo +brevemente più avanti (in sez.~\ref{sec:sock_resolver}) dato che la maggior +parte delle sua applicazioni sono relative alla risoluzioni di nomi di rete. In questo paragrafo ci limiteremo comunque a trattere le funzioni classiche per la lettura delle informazioni relative a utenti e gruppi tralasciando @@ -1068,7 +1067,7 @@ fig.~\ref{fig:sys_group_struct}. Le funzioni viste finora sono in grado di leggere le informazioni sia direttamente dal file delle password in \file{/etc/passwd} che tramite il -sistema del \index{\textit{Name~Service~Switch}}\textit{Name Service Switch} e +sistema del \itindex{Name~Service~Switch}\textit{Name Service Switch} e sono completamente generiche. Si noti però che non c'è una funzione che permetta di impostare direttamente una password.\footnote{in realtà questo può essere fatto ricorrendo a PAM, ma questo è un altro discorso.} Dato che @@ -1365,12 +1364,11 @@ kernel nelle system call eseguite per conto del processo. Gli altri tre campi servono a quantificare l'uso della memoria virtuale\index{memoria~virtuale} e corrispondono rispettivamente al numero di -\textit{page fault}\index{\textit{page~fault}} (vedi -sez.~\ref{sec:proc_mem_gen}) avvenuti senza richiedere I/O su disco (i -cosiddetti \textit{minor page fault}), a quelli che invece han richiesto I/O -su disco (detti invece \textit{major page fault}) ed al numero di volte che il -processo è stato completamente tolto dalla memoria per essere inserito nello -swap. +\textit{page fault}\itindex{page~fault} (vedi sez.~\ref{sec:proc_mem_gen}) +avvenuti senza richiedere I/O su disco (i cosiddetti \textit{minor page + fault}), a quelli che invece han richiesto I/O su disco (detti invece +\textit{major page fault}) ed al numero di volte che il processo è stato +completamente tolto dalla memoria per essere inserito nello swap. In genere includere esplicitamente \file{} non è più strettamente necessario, ma aumenta la portabilità, e serve comunque quando, come nella @@ -1623,12 +1621,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\index{\textit{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\itindex{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.