Il kernel

di staff Commenta

Il kernel è diviso in varie parti, in seguito vi è una suddivisione generale con il compito svolto da ogni singola parte. Anzitutto abbiamo lo Scheduler, il suo compito è di stabilire a intervalli regolari e fissi e sulla base di un opportuno calcolo delle priorità, quale Processo deve essere posto in esecuzione e inviato al processore dalla RAM (Random Access Memory), avviato il processo, esso potrà accedere alle risorse hardware attraverso le opportune chiamate al sistema che restituiscono il controllo al kernel.

La memoria è gestita dal kernel attraverso un meccanismo di memoria virtuale, che permette di assegnare a ciascun processo in esecuzione uno spazio degli indirizzi, che a sua volta mapperà nuovamente in seguito, cioè quando alcune risorse non necessitano più di spazio, salvando i dati sul disco.

Le periferiche sono viste in genere attraverso un’interfaccia astratta che permette di trattarle come fossero dei semplici file, secondo il concetto per cui Everything is a File. Per le interfacce di rete, quanto detto prima non vale perché l’interfaccia è diversa.

Il kernel è eseguito in un ambiente preposto, chiamato Kernel space, che è differente dall’ambiente in cui sono eseguiti i programmi, ambiente che è detto User space.
Ogni programma ha la piena disponibilità della CPU e della memoria ed è ignaro del fatto che altri programmi o processi possono essere messi in esecuzione dal kernel, poiché molte volte l’architettura tiene all’oscuro queste cose ai processi perché chi se ne occupa, è il kernel che si trova in un altro livello, per cui vige la regola che i compiti svolti da un componente non sono conosciuti da altri componenti, anche se ne subiscono le conseguenze.

Lascia un commento

Il tuo indirizzo email non verrà pubblicato.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>