X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=a6f1787fb151b1b6c0d5d3e60f88101d751faaec;hp=9a37199c62aff381f3cf0754065acf843777579f;hb=5d621249af8897e27fc0a842a33e7a7ef3b9c2ca;hpb=6271cd1b0cc4d403753d1f48d3d562b16db7e613 diff --git a/system.tex b/system.tex index 9a37199..a6f1787 100644 --- a/system.tex +++ b/system.tex @@ -1,6 +1,6 @@ %% system.tex %% -%% Copyright (C) 2000-2009 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2010 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", @@ -528,9 +528,9 @@ fig.~\ref{fig:sys_utsname}, solo definendo \macro{\_GNU\_SOURCE}. \label{fig:sys_utsname} \end{figure} -In generale si tenga presente che le dimensioni delle stringe di una -\struct{utsname} non è specificata, e che esse sono sempre terminate con NUL; -il manuale delle \acr{glibc} indica due diverse dimensioni, +In generale si tenga presente che le dimensioni delle stringhe di una +struttura \struct{utsname} non è specificata, e che esse sono sempre terminate +con NUL; il manuale delle \acr{glibc} indica due diverse dimensioni, \const{\_UTSNAME\_LENGTH} per i campi standard e \const{\_UTSNAME\_DOMAIN\_LENGTH} per quello specifico per il nome di dominio; altri sistemi usano nomi diversi come \const{SYS\_NMLN} o \const{\_SYS\_NMLN} @@ -559,6 +559,7 @@ 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. +% TODO ristrutturare e aggiungere \func{prctl} \subsection{La funzione \func{sysctl} ed il filesystem \file{/proc}} \label{sec:sys_sysctl} @@ -661,8 +662,8 @@ inclusa nei sorgenti del kernel, nella directory \file{Documentation/sysctl}. Ma oltre alle informazioni ottenibili da \func{sysctl} dentro \file{proc} sono disponibili moltissime altre informazioni, fra cui ad esempio anche quelle -fornite da \func{uname} (vedi sez.~\ref{sec:sys_config}) che sono mantenute -nei file \procrelfile{/proc/sys/kernel}{ostype}, +fornite da \func{uname} (vedi sez.~\ref{sec:sys_uname}) che sono mantenute nei +file \procrelfile{/proc/sys/kernel}{ostype}, \procrelfile{/proc/sys/kernel}{hostname}, \procrelfile{/proc/sys/kernel}{osrelease}, \procrelfile{/proc/sys/kernel}{version} e @@ -922,9 +923,16 @@ semplice invocare direttamente il programma \cmd{mount}, per cui ne tralasceremo la trattazione, rimandando al manuale delle \acr{glibc} \cite{glibc} per la documentazione completa. +% TODO scrivere relativamente alle varie funzioni (getfsent e getmntent &C) +% TODO documentare swapon e swapoff (man 2 ...) + + +% TODO documentare keyctl ???? +% (fare sezione dedicata ????) +%\subsection{La gestione delle chiavi} +%\label{sec:keyctl_management} -% TODO scrivere relativamente alle varie funzioni (getfsent e getmntent &C) \subsection{La gestione delle informazioni su utenti e gruppi} \label{sec:sys_user_group} @@ -1580,6 +1588,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.} +% TODO trattare prlimit64 introdotta con il 2.6.36 che dovrebbe sostituire +% setrlimit + In generale il superamento di un limite corrente\footnote{di norma quanto riportato in tab.~\ref{tab:sys_rlimit_values} fa riferimento a quanto @@ -1643,12 +1654,13 @@ Nello specificare un limite, oltre a fornire dei valori specifici, si pu anche usare la costante \const{RLIM\_INFINITY} che permette di sbloccare l'uso di una risorsa; ma si ricordi che solo un processo con i privilegi di amministratore\footnote{per essere precisi in questo caso quello che serve è - la \itindex{capabilities} \textit{capability} \const{CAP\_SYS\_RESOURCE}.} -può innalzare un limite al di sopra del valore corrente del limite massimo ed -usare un valore qualsiasi per entrambi i limiti. Si tenga conto infine che -tutti i limiti vengono ereditati dal processo padre attraverso una \func{fork} -(vedi sez.~\ref{sec:proc_fork}) e mantenuti per gli altri programmi eseguiti -attraverso una \func{exec} (vedi sez.~\ref{sec:proc_exec}). + la \itindex{capabilities} \textit{capability} \const{CAP\_SYS\_RESOURCE} + (vedi sez.~\ref{sec:proc_capabilities}).} può innalzare un limite al di +sopra del valore corrente del limite massimo ed usare un valore qualsiasi per +entrambi i limiti. Si tenga conto infine che tutti i limiti vengono ereditati +dal processo padre attraverso una \func{fork} (vedi sez.~\ref{sec:proc_fork}) +e mantenuti per gli altri programmi eseguiti attraverso una \func{exec} (vedi +sez.~\ref{sec:proc_exec}). \subsection{Le risorse di memoria e processore} @@ -1804,6 +1816,10 @@ minimo indicato dal secondo valore (sempre in percentuale di spazio disco libero). Infine l'ultimo valore indica la frequenza in secondi con cui deve essere controllata detta percentuale. +% TODO trattare quote disco +% vedi man quotactl +%\section{La gestione delle quote disco} +%\label{sec:disk_quota} @@ -2047,7 +2063,8 @@ rispetto a \type{time\_t}, fino al microsecondo.\footnote{la precisione Come nel caso di \func{stime} anche \func{settimeofday} (la cosa continua a valere per qualunque funzione che vada a modificare l'orologio di sistema, quindi anche per quelle che tratteremo in seguito) può essere utilizzata solo -da un processo coi privilegi di amministratore. +da un processo coi privilegi di amministratore.\footnote{più precisamente la + capabitity \const{CAP\_SYS\_TIME}.} Il secondo argomento di entrambe le funzioni è una struttura \struct{timezone}, che storicamente veniva utilizzata per specificare appunto