X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=prochand.tex;h=7bd2ed92ca8a25c3acac72961f65d14effe22345;hb=596d8a42fe9018aa5e41c0083186f04f719ce7dc;hp=9677726cc2be3bda16d335563d4367e08cab970d;hpb=b2892e085134716ccc35f0f0d247ca40356a81ff;p=gapil.git diff --git a/prochand.tex b/prochand.tex index 9677726..7bd2ed9 100644 --- a/prochand.tex +++ b/prochand.tex @@ -157,19 +157,15 @@ in fig.~\ref{fig:proc_task_struct}. Come accennato in sez.~\ref{sec:intro_unix_struct} è lo \itindex{scheduler} \textit{scheduler} che decide quale processo mettere in esecuzione; esso viene -eseguito ad ogni \textit{system call} ed ad ogni interrupt e in una serie di -altre occasioni, ma può essere anche attivato esplicitamente. Il timer di -sistema provvede comunque a che esso sia invocato periodicamente; generando un -interrupt periodico secondo la frequenza specificata dalla costante -\const{HZ},\footnote{fino al kernel 2.4 il valore di \const{HZ} era 100 su - tutte le architetture tranne l'alpha, per cui era 1000, nel 2.6 è stato - portato a 1000 su tutte; dal 2.6.13 lo si può impostare in fase di - compilazione del kernel, con un default di 250 e valori possibili di 100, - 250, 1000 e dal 2.6.20 anche 300 (che è divisibile per le frequenze di - refresh della televisione); occorre fare attenzione a non confondere questo - valore con quello dei \itindex{clock~tick} \textit{clock tick} (vedi - sez.~\ref{sec:sys_unix_time}).} definita in \file{asm/param.h}, ed il cui -valore è espresso in Hertz. +eseguito in occasione di dell'invocazione di ogni \textit{system call} ed per +ogni interrupt dall'hardware oltre che in una serie di altre occasioni, e può +essere anche attivato esplicitamente. Il timer di sistema provvede comunque a +che esso sia invocato periodicamente, generando un interrupt periodico secondo +una frequenza predeterminata, specificata dalla costante \const{HZ} del kernel +(torneremo su questo argomento in sez.~\ref{sec:sys_unix_time}), che assicura +che lo \textit{scheduler} scheduler venga comunque eseguito ad intervalli +regolari e possa prendere le sue decisioni. + A partire dal kernel 2.6.21 è stato introdotto anche un meccanismo completamente diverso, detto \textit{tickless}, in cui non c'è più una @@ -3889,14 +3885,15 @@ Introdotta a partire dal kernel 2.4.21, solo su PowerPC. nulli pena la ricezione di un errore di \errval{EINVAL}. Introdotta a partire dal kernel 2.6.32. % TODO: verificare questa parte -\item[PR\_SET\_CHILD\_SUBREAPER] Imposta il processo indicato con il \ids{PID} - specificato da \param{arg2} come nuovo ``\textsl{genitore adottivo}'' per - tutti i processi discendenti del chiamante che diventeranno orfani, - sostituendo in questo ruolo \cmd{init} (si ricordi quanto illustrato in - sez.~\ref{sec:proc_termination}). Introdotta a partire dal kernel 3.4. -\item[PR\_GET\_CHILD\_SUBREAPER] Ottiene il \ids{PID} del processo a cui - vengono assegnati come figli gli orfani del processo corrente. Introdotta a - partire dal kernel 3.4. +\item[\const{PR\_SET\_CHILD\_SUBREAPER}] Imposta il processo indicato con il + \ids{PID} specificato da \param{arg2} come nuovo ``\textsl{genitore + adottivo}'' per tutti i processi discendenti del chiamante che + diventeranno orfani, sostituendo in questo ruolo \cmd{init} (si ricordi + quanto illustrato in sez.~\ref{sec:proc_termination}). Introdotta a partire + dal kernel 3.4. +\item[\const{PR\_GET\_CHILD\_SUBREAPER}] Ottiene il \ids{PID} del processo a + cui vengono assegnati come figli gli orfani del processo + corrente. Introdotta a partire dal kernel 3.4. \label{sec:prctl_operation} \end{basedescript}