X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=prochand.tex;h=fc5e47746ad46a1fbb237faa2d368bee530d915c;hp=db19575bea6e4217ce2ba72b69ac7abad259b33f;hb=b0f9e84fb388f894bf26c87ffa304847bddfa3b0;hpb=e91584927c1db3e0b5d08facab44c76b197c101d diff --git a/prochand.tex b/prochand.tex index db19575..fc5e477 100644 --- a/prochand.tex +++ b/prochand.tex @@ -1,6 +1,6 @@ %% prochand.tex %% -%% Copyright (C) 2000-2015 by Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 by 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", @@ -1325,7 +1325,7 @@ Tratteremo nei dettagli la struttura \struct{siginfo\_t} ed il significato dei suoi vari campi in sez.~\ref{sec:sig_sigaction}, per quanto ci interessa qui basta dire che al ritorno di \func{waitid} verranno avvalorati i seguenti campi: -\begin{basedescript}{\desclabelwidth{2.0cm}} +\begin{basedescript}{\desclabelwidth{1.8cm}} \item[\var{si\_pid}] con il \ids{PID} del figlio. \item[\var{si\_uid}] con l'\textsl{user-ID reale} (vedi sez.~\ref{sec:proc_perms}) del figlio. @@ -2142,10 +2142,10 @@ si ottengono i privilegi necessari per accedere ai file, mantenendo quelli originari per quanto riguarda tutti gli altri controlli di accesso, così che l'utente non possa inviare segnali al server NFS. -Le due funzioni di sistema usate per cambiare questi identificatori sono -\funcd{setfsuid} e \funcd{setfsgid}, ed ovviamente sono specifiche di Linux e -non devono essere usate se si intendono scrivere programmi portabili; i loro -prototipi sono: +Le due funzioni di sistema usate appositamente per cambiare questi +identificatori sono \funcd{setfsuid} e \funcd{setfsgid} ovviamente sono +specifiche di Linux e non devono essere usate se si intendono scrivere +programmi portabili; i loro prototipi sono: \begin{funcproto}{ \fhead{sys/fsuid.h} @@ -2864,8 +2864,8 @@ errore \errcode{EINVAL}, questo valore infatti non ha niente a che vedere con la priorità dinamica determinata dal valore di \textit{nice}, che deve essere impostato con le funzioni viste in precedenza. -Lo standard POSIX.1b prevede inoltre che l'intervallo dei valori delle -priorità statiche possa essere ottenuto con le funzioni di sistema +Lo standard POSIX.1b prevede che l'intervallo dei valori delle priorità +statiche possa essere ottenuto con le funzioni di sistema \funcd{sched\_get\_priority\_max} e \funcd{sched\_get\_priority\_min}, i cui prototipi sono: @@ -3065,7 +3065,7 @@ una risorsa contesa con altri processi, e si vuole dare agli altri una possibilità di approfittarne mettendoli in esecuzione, ma chiamarla senza necessità, specie se questo avviene ripetutamente all'interno di un qualche ciclo, può avere invece un forte impatto negativo per la generazione di -\itindex{contest~switch} \textit{contest switch} inutili. +\textit{context switch} inutili. \subsection{Il controllo dello \textit{scheduler} per i sistemi @@ -3967,6 +3967,9 @@ Introdotta a partire dal kernel 2.4.21, solo su PowerPC. % codice e dati, stack, brack pointer ecc. vedi % http://git.kernel.org/linus/f606b77f1a9e362451aca8f81d8f36a3a112139e +% TODO documentare ARCH_SET_CPUID e ARCH_GET_CPUID, introdotte con il kernel +% 4.12, vedi https://lwn.net/Articles/721182/ + \label{sec:prctl_operation} \end{basedescript} @@ -4194,6 +4197,10 @@ elenco, che illustra quelle attualmente disponibili:\footnote{si fa % \item[\constd{CLONE\_NEWPID}] % \item[\constd{CLONE\_NEWUTS}] + +% TODO trattare CLONE_NEWCGROUP introdotto con il kernel 4.6, vedi +% http://lwn.net/Articles/680566/ + \item[\constd{CLONE\_PARENT}] \item[\constd{CLONE\_PARENT\_SETTID}] \item[\constd{CLONE\_PID}] @@ -4237,6 +4244,10 @@ elenco, che illustra quelle attualmente disponibili:\footnote{si fa % http://lwn.net/Articles/531498/ +% TODO trattare le funzioni di protezione della memoria pkey_alloc, pkey_free, +% pkey_mprotect, introdotte con il kernel 4.8, vedi +% http://lwn.net/Articles/689395/ e Documentation/x86/protection-keys.txt + %TODO trattare kcmp aggiunta con il kernel 3.5, vedi % https://lwn.net/Articles/478111/ @@ -4302,6 +4313,8 @@ elenco, che illustra quelle attualmente disponibili:\footnote{si fa %TODO trattare membarrier, introdotta con il kernel 4.3 % vedi http://lwn.net/Articles/369567/ http://lwn.net/Articles/369640/ % http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5b25b13ab08f616efd566347d809b4ece54570d1 +% vedi anche l'ulteriore opzione "expedited" introdotta con il kernel 4.14 +% (https://lwn.net/Articles/728795/) \section{Problematiche di programmazione multitasking} \label{sec:proc_multi_prog}