%% system.tex
%%
-%% Copyright (C) 2000-2015 Simone Piccardi. Permission is granted to
+%% Copyright (C) 2000-2018 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",
\textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\
\hline
\hline
- \constd{\_POSIX\_ARG\_MAX} & 4096& Dimensione massima degli argomenti
+ \macrod{\_POSIX\_ARG\_MAX} & 4096& Dimensione massima degli argomenti
passati ad una funzione della famiglia
\func{exec}.\\
- \constd{\_POSIX\_CHILD\_MAX} & 6& Numero massimo di processi
+ \macrod{\_POSIX\_CHILD\_MAX} & 6& Numero massimo di processi
contemporanei che un utente può
eseguire.\\
- \constd{\_POSIX\_OPEN\_MAX} & 16& Numero massimo di file che un processo
+ \macrod{\_POSIX\_OPEN\_MAX} & 16& Numero massimo di file che un processo
può mantenere aperti in
contemporanea.\\
- \constd{\_POSIX\_STREAM\_MAX}& 8& Massimo numero di stream aperti per
+ \macrod{\_POSIX\_STREAM\_MAX}& 8& Massimo numero di stream aperti per
processo in contemporanea.\\
- \constd{\_POSIX\_TZNAME\_MAX}& 6& Dimensione massima del nome di una
+ \macrod{\_POSIX\_TZNAME\_MAX}& 6& Dimensione massima del nome di una
\textit{timezone}
(vedi sez.~\ref{sec:sys_date}). \\
- \constd{\_POSIX\_RTSIG\_MAX} & 8& Numero massimo di segnali
+ \macrod{\_POSIX\_RTSIG\_MAX} & 8& Numero massimo di segnali
\textit{real-time} (vedi
sez.~\ref{sec:sig_real_time}).\\
- \constd{\_POSIX\_NGROUPS\_MAX}& 0& Numero di gruppi supplementari per
+ \macrod{\_POSIX\_NGROUPS\_MAX}& 0& Numero di gruppi supplementari per
processo (vedi
sez.~\ref{sec:proc_access_id}).\\
- \constd{\_POSIX\_SSIZE\_MAX} &32767& Valore massimo del tipo
+ \macrod{\_POSIX\_SSIZE\_MAX} &32767& Valore massimo del tipo
\type{ssize\_t}.\\
- % \const{\_POSIX\_AIO\_LISTIO\_MAX}&2& \\
- % \const{\_POSIX\_AIO\_MAX} & 1& \\
+ % \macrod{\_POSIX\_AIO\_LISTIO\_MAX}&2& \\
+ % \macrod{\_POSIX\_AIO\_MAX} & 1& \\
\hline
\end{tabular}
\caption{Macro dei valori minimi di alcune caratteristiche generali del
Indica se il sistema supporta i
\textit{saved id} (vedi
sez.~\ref{sec:proc_access_id}).\\
- \texttt{\_SC\_VERSION} & \const{\_POSIX\_VERSION} &
+ \texttt{\_SC\_VERSION} & \macro{\_POSIX\_VERSION} &
Indica il mese e l'anno di approvazione
della revisione dello standard POSIX.1 a cui
il sistema fa riferimento, nel formato
\begin{figure}[!ht!b]
\footnotesize \centering
- \begin{minipage}[c]{0.8\textwidth}
+ \begin{minipage}[c]{0.85\textwidth}
\includestruct{listati/ustname.h}
\end{minipage}
\normalsize
Come accennato queste stesse informazioni, anche se a differenza di
\func{sysctl} la funzione continua ad essere mantenuta, si possono ottenere
direttamente tramite il filesystem \file{/proc}, esse infatti sono mantenute
-rispettivamente nei file \sysctlrelfile{kernel}{ostype},
-\sysctlrelfile{kernel}{hostname}, \sysctlrelfile{kernel}{osrelease},
-\sysctlrelfile{kernel}{version} e \sysctlrelfile{kernel}{domainname} che si
+rispettivamente nei file \sysctlrelfiled{kernel}{ostype},
+\sysctlrelfiled{kernel}{hostname}, \sysctlrelfiled{kernel}{osrelease},
+\sysctlrelfiled{kernel}{version} e \sysctlrelfiled{kernel}{domainname} che si
trovano sotto la directory \file{/proc/sys/kernel/}.
\index{file!filesystem~\texttt {/proc}!definizione|)}
\label{tab:sys_ut_type}
\end{table}
-La funzione \func{getutline} esegue la ricerca sulle voci che hanno
-\var{ut\_type} uguale a \const{LOGIN\_PROCESS} o \const{USER\_PROCESS},
-restituendo la prima che corrisponde al valore di \var{ut\_line}, che
-specifica il dispositivo di terminale che interessa, da indicare senza il
-\file{/dev/} iniziale. Lo stesso criterio di ricerca è usato da
-\func{pututline} per trovare uno spazio dove inserire la voce specificata;
+La funzione \func{getutline} esegue la ricerca sulle voci che hanno un
+\var{ut\_type} con valore uguale a \const{LOGIN\_PROCESS} o
+\const{USER\_PROCESS}, restituendo la prima che corrisponde al valore di
+\var{ut\_line}, che specifica il dispositivo di terminale che interessa, da
+indicare senza il \file{/dev/} iniziale. Lo stesso criterio di ricerca è usato
+da \func{pututline} per trovare uno spazio dove inserire la voce specificata;
qualora questo spazio non venga trovato la voce viene aggiunta in coda al
registro.
% TODO documentare la Crypto API del kernel
% TODO documentare la syscall getrandom, introdotta con il kernel 3.17, vedi
-% http://lwn.net/Articles/606141/
+% http://lwn.net/Articles/606141/, ed introdotta con le glibc solo con la
+% versione 2.25, vedi https://lwn.net/Articles/711013/
%\subsection{La gestione delle chiavi crittografiche}
%\label{sec:keyctl_management}
%TODO non è chiaro se farlo qui, ma documentare la syscall bpf aggiunta con il
-%kernel 3.18, vedi http://lwn.net/Articles/612878/
+% kernel 3.18, vedi http://lwn.net/Articles/612878/; al riguardo vedi anche
+% https://lwn.net/Articles/660331/
\section{Il controllo dell'uso delle risorse}
\label{sec:sys_res_limits}
della apposita struttura dati definita all'interno del kernel.
Il funzionamento di \func{acct} viene inoltre modificato da uno specifico
-parametro di sistema, modificabile attraverso \sysctlfile{kernel/acct} (o
+parametro di sistema, modificabile attraverso \sysctlfiled{kernel/acct} (o
tramite la corrispondente \func{sysctl}). Esso contiene tre valori interi, il
primo indica la percentuale di spazio disco libero sopra il quale viene
ripresa una registrazione che era stata sospesa per essere scesi sotto il
2.6.9.
A differenza di quanto avviene per \func{clock} i valori restituiti nei campi
-di una struttura \struct{tms} sono misurati in numero di
-\textit{clock tick} effettivi e non in multipli di \const{CLOCKS\_PER\_SEC},
-pertanto per ottenere il valore effettivo in secondi occorrerà dividere per il
-risultato di \code{sysconf(\_SC\_CLK\_TCK)}.
+di una struttura \struct{tms} sono misurati in numero di \textit{clock tick}
+effettivi e non in multipli di \const{CLOCKS\_PER\_SEC}, pertanto per ottenere
+il valore effettivo del tempo in secondi occorrerà dividere per il risultato
+di \code{sysconf(\_SC\_CLK\_TCK)}.
Lo stesso vale per il valore di ritorno della funzione, il cui significato fa
riferimento ad un tempo relativo ad un certo punto nel passato la cui
% LocalWords: newlen ENOTDIR EINVAL ENOMEM linux array oldvalue paging stack
% LocalWords: TCP shell Documentation ostype hostname osrelease version mount
% LocalWords: const source filesystemtype mountflags ENODEV ENOTBLK block read
-% LocalWords: device EBUSY only EACCES NODEV ENXIO major RTSIG syscall PID NSS
+% LocalWords: device EBUSY only EACCES NODEV ENXIO major RTSIG syscall PID
% LocalWords: number EMFILE dummy ENAMETOOLONG ENOENT ELOOP virtual devfs MGC
% LocalWords: magic MSK RDONLY NOSUID suid sgid NOEXEC SYNCHRONOUS REMOUNT MNT
% LocalWords: MANDLOCK mandatory locking WRITE APPEND append IMMUTABLE NOATIME