Che cosa si intende con kernel? a che serve?

Il kernel rappresenta la parte fondamentale di un sistema operativo, quella destinata ad effettuare le operazioni essenziali che consentono il controllo del computer. Per questo motivo il kernel deve essere continuamente presente nella memoria del computer.

Tutte le operazioni che non sono essenziali vengono svolte da “processi” ovvero programmi autonomi che vengono caricati in memoria in caso di bisogno e scaricati quando non servono più e che utilizzano i servizi del kernel quando devono effettuare le operazioni fondamentali.

In generale il kernel è costituito da:

  • Il sistema di gestione dei processi, che lancia i processi, ne stabilisce le priorità ed assegna a ciascuno la sua porzione di tempo di esecuzione.
  • Il sistema di gestione della memoria, che alloca e recupera la memoria necessaria ai processi.
  • I driver delle periferiche, che effettuano le operazioni di basso livello sui dispositivi esterni.

Una caratteristica comune a gran parte dei sistemi operativi è che il kernel utilizza un modo di funzionamento speciale della CPU (detto appunto “kernel mode”) in cui può eseguire operazioni privilegiate che sono inutilizzabili al di fuori del kernel. In tal modo si implementano le funzioni di sicurezza del sistema operativo, quelle cioè che servono a proteggere i processi, ovvero ad impedire che operazioni di un processo possano influenzare gli altri processi concorrenti.