X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=prochand.tex;h=48af070bd1e6a7980b68b773fb3737c5ddfbd424;hp=534049e4af90da2abca9477674491f948239a2c8;hb=3f0b7dc79bb38d391505385754c9e3c222b6c86d;hpb=cd905cd37ac75847fdbfcc6fb4d2fd094dd808b7 diff --git a/prochand.tex b/prochand.tex index 534049e..48af070 100644 --- a/prochand.tex +++ b/prochand.tex @@ -1492,10 +1492,10 @@ all'\textsl{userid salvato}. Negli altri casi viene segnalato un errore (con \macro{EPERM}). Come accennato l'uso principale di queste funzioni è quello di poter -consentire ad un programma con i bit \acr{suid} o \acr{sgid} impostati di -riportare l'\textsl{userid effettivo} a quello dell'utente che ha lanciato il -programma, effettuare il lavoro che non necessita di privilegi aggiuntivi, ed -eventualmente tornare indietro. +consentire ad un programma con i bit \acr{suid} o \acr{sgid} impostati (vedi +\secref{sec:file_suid_sgid}) di riportare l'\textsl{userid effettivo} a quello +dell'utente che ha lanciato il programma, effettuare il lavoro che non +necessita di privilegi aggiuntivi, ed eventualmente tornare indietro. Come esempio per chiarire l'uso di queste funzioni prendiamo quello con cui viene gestito l'accesso al file \file{/var/log/utmp}. In questo file viene @@ -2117,9 +2117,10 @@ priorit nel caso di Linux non si tratta di un vero hard real-time, in quanto in presenza di eventuali interrupt il kernel interrompe l'esecuzione di un processo qualsiasi sia la sua priorità,\footnote{questo a meno che non si - siano installate le patch di RTLinux o RTAI, con i quali è possibile + siano installate le patch di RTLinux, RTAI o Adeos, con i quali è possibile ottenere un sistema effettivamente hard real-time. In tal caso infatti gli - interrupt vengono intercettati dall'interfaccia real-time, e gestiti + interrupt vengono intercettati dall'interfaccia real-time (o nel caso di + Adeos gestiti dalle code del nano-kernel), in modo da poterlo controllare direttamente qualora ci sia la necessità di avere un processo con priorità più elevata di un \textit{interrupt handler}.} mentre con l'incorrere in un page fault\index{page fault} si possono avere ritardi non previsti. Se @@ -2143,17 +2144,16 @@ eseguito per primo quello con priorit processi con la stessa priorità assoluta questi vengono tenuti in una coda tocca al kernel decidere quale deve essere eseguito. - - Il meccanismo con cui vengono gestiti questi processi dipende dalla politica di scheduling che si è scelto; lo standard ne prevede due: -\begin{basedescript}{\desclabelwidth{3cm}\desclabelstyle{\nextlinelabel}} -\item[\textit{FIFO}] il processo viene eseguito fintanto che non cede - volontariamente la CPU, si blocca, finisce o viene interrotto da un processo - a priorità più alta. -\item[\textit{Round Robin}] ciascun processo viene eseguito a turno per un - certo periodo di tempo (una \textit{time slice}). Solo i processi con la - stessa priorità ed in stato \textit{runnable} entrano nel circolo. +\begin{basedescript}{\desclabelwidth{2cm}\desclabelstyle{\nextlinelabel}} +\item[\textit{FIFO}] \textit{First In First Out}. Il processo viene eseguito + fintanto che non cede volontariamente la CPU, si blocca, finisce o viene + interrotto da un processo a priorità più alta. +\item[\textit{RR}] \textit{Round Robin}. Ciascun processo viene eseguito a + turno per un certo periodo di tempo (una \textit{time slice}). Solo i + processi con la stessa priorità ed in stato \textit{runnable} entrano nel + circolo. \end{basedescript} La funzione per impostare le politiche di scheduling (sia real-time che