- serie 2.6.x lo \textit{scheduler} è stato riscritto da zero e può usare
- diversi algoritmi, selezionabili sia in fase di compilazione, che, nelle
- versioni più recenti, all'avvio (addirittura è stato ideato un sistema
- modulare che permette di cambiare lo scheduler al volo, che comunque non è
- incluso nel kernel ufficiale).} ad ogni processo è assegnata una
-\textit{time-slice}, cioè un intervallo di tempo (letteralmente una fetta) per
-il quale esso deve essere eseguito. Il valore della \textit{time-slice} è
-controllato dalla cosiddetta \textit{nice} (o \textit{niceness}) del processo.
-Essa è contenuta nel campo \var{nice} di \struct{task\_struct}; tutti i
-processi vengono creati con lo stesso valore, ed essa specifica il valore
-della durata iniziale della \textit{time-slice} che viene assegnato ad un
-altro campo della struttura (\var{counter}) quando il processo viene eseguito
-per la prima volta e diminuito progressivamente ad ogni interruzione del
-timer.
-
-Durante la sua esecuzione lo scheduler\index{\textit{scheduler}} scandisce la
-coda dei processi in stato \textit{runnable} associando, in base al valore di
-\var{counter}, un peso ad ogni processo in attesa di esecuzione,\footnote{il
- calcolo del peso in realtà è un po' più complicato, ad esempio nei sistemi
- multiprocessore viene favorito un processo eseguito sulla stessa CPU, e a
- parità del valore di \var{counter} viene favorito chi ha una priorità più
- elevata.} chi ha il peso più alto verrà posto in esecuzione, ed il
-precedente processo sarà spostato in fondo alla coda. Dato che ad ogni
-interruzione del timer il valore di \var{counter} del processo corrente viene
-diminuito, questo assicura che anche i processi con priorità più bassa
-verranno messi in esecuzione.
+ serie 2.6.x lo scheduler è stato riscritto da zero e può usare diversi
+ algoritmi, selezionabili sia in fase di compilazione, che, nelle versioni
+ più recenti, all'avvio (addirittura è stato ideato un sistema modulare che
+ permette di cambiare lo scheduler al volo, che comunque non è incluso nel
+ kernel ufficiale).} ad ogni processo è assegnata una \textit{time-slice},
+cioè un intervallo di tempo (letteralmente una fetta) per il quale esso deve
+essere eseguito. Il valore della \textit{time-slice} è controllato dalla
+cosiddetta \textit{nice} (o \textit{niceness}) del processo. Essa è contenuta
+nel campo \var{nice} di \struct{task\_struct}; tutti i processi vengono creati
+con lo stesso valore, ed essa specifica il valore della durata iniziale della
+\textit{time-slice} che viene assegnato ad un altro campo della struttura
+(\var{counter}) quando il processo viene eseguito per la prima volta e
+diminuito progressivamente ad ogni interruzione del timer.
+
+Durante la sua esecuzione lo scheduler scandisce la coda dei processi in stato
+\textit{runnable} associando, in base al valore di \var{counter}, un peso ad
+ogni processo in attesa di esecuzione,\footnote{il calcolo del peso in realtà
+ è un po' più complicato, ad esempio nei sistemi multiprocessore viene
+ favorito un processo eseguito sulla stessa CPU, e a parità del valore di
+ \var{counter} viene favorito chi ha una priorità più elevata.} chi ha il
+peso più alto verrà posto in esecuzione, ed il precedente processo sarà
+spostato in fondo alla coda. Dato che ad ogni interruzione del timer il
+valore di \var{counter} del processo corrente viene diminuito, questo assicura
+che anche i processi con priorità più bassa verranno messi in esecuzione.