Una parte del kernel, lo \textit{scheduler}, si occupa di stabilire, ad
intervalli fissi e sulla base di un opportuno calcolo delle priorità, quale
-``processo'' (vedi Cap.~\ref{cha:process}) deve essere posto in esecuzione (il
+``processo'' (vedi \capref{cha:process}) deve essere posto in esecuzione (il
cosidetto \textit{prehemptive scheduling}), e questo verrà comunque eseguito
in modelità protetta; quando necessario il processo potrà accedere alle
risorse hardware soltanto attraverso delle opportune chiamate al sistema
Le periferiche infine vengono viste in genere attraverso un'interfaccia
astratta che permette di trattarle come fossero file. secondo il concetto per
-cui \textit{everything is a file}, vedi Cap.~\ref{cha:files_intro}, (questo
+cui \textit{everything is a file}, vedi \capref{cha:files_intro}, (questo
non è vero per le interfacce di rete, ma resta valido il concetto generale che
tutto il lavoro di accesso e gestione a basso livello è effettuato dal
kernel), mentre ai programmi vengono fornite solo delle routine di
é l'ambiente in cui viene eseguito il kernel. Ogni programma gira come se
avesse la piena disponibilità della macchina e della memoria ed è, salvo i
meccanismi di comunicazione previsti dall'architettura (che esamineremo nel
-Cap.~\ref{cha:IPC}) completamente ignaro del fatto che altri programmi possono
+\capref{cha:IPC}) completamente ignaro del fatto che altri programmi possono
essere messi in esecuzione dal kernel.
In questo non è possibile ad un singolo programma disturbare l'azione di un
dell'utente a cui appartiene ed impedire ad altri utenti di interferire con
esso. Inoltre con questo sistema viene anche garantita una forma base di
sicurezza interna in quanto anche l'accesso ai file (vedi
-Sez.~\ref{sec:fileintr_access_ctrl}) è regolato da questo meccanismo di
+\secref{sec:fileintr_access_ctrl}) è regolato da questo meccanismo di
identificazione.
Un utente speciale del sistema è \textit{root}, il cui uid è zero. Esso