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 \ref{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
-(\textit{system call}) con un'interfaccia ben definita che restituiranno il
-controllo al kernel.
+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
+(\textit{system call}) con un'interfaccia ben definita e standardizzata che
+restituiranno il controllo al kernel.
La memoria viene sempre gestita del kernel attraverso il meccanismo della
memoria virtuale, che consente di assegnare a ciascun processo uno spazio di
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 \ref{sec:file_gen}, (questo non è vero
-per le interfacce di rete, ma resta valido il caoncetto generale che tutto il
+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 interfacciamento; essendo
l'argomento principale di cui tratteremo, di esse parleremo in abbondanza nei