INDIETRO SU AVANTI

Il kernel come componente principale


Il kernel e' il software di sistema che e' sempre residente in memoria principale e sempre in esecuzione. I processi utente vengono eseguiti dal kernel quasi come se fossero delle subroutines: il kernel li controlla e li puo' terminare in qualsiasi istante. Il kernel esegue in modalita' privilegiata: UNIX richiede una CPU che possa eseguire in almeno due modalita' di cui una privilegiata.

Il kernel e' composto da:

I sorgenti del kernel di UNIX solo in alcuni casi sono disponibili al pubblico, a differenza del caso di molti programmi applicativi. Il codice sorgente del kernel e' scritto prevalentemente in Linguaggio C, il resto e' scritto nel linguaggio Assembler per la particolare CPU su cui lo UNIX e' implementato.

I programmi utente non devono fornire routines a basso livello per la gestione di files, periferiche, ecc., e di fatto non gli e' consentito farlo.

Il kernel di UNIX e' come un codice di regole precise per il buon funzionamento di una comunita' di processi, piu' tutti i servizi necessari per supportare la comunita' e far si che le regole vengano rispettate. Le richieste arrivano dai processi al kernel tramite le chiamate di sistema.