Nel calcolo, cos'è un kernel?

Nella maggior parte dei sistemi operativi per computer, il kernel è il componente centrale. È il ponte tra l'utente e le applicazioni e l'hardware del computer. È anche il meccanismo che consente al computer di gestire più utenti e più attività contemporaneamente. I tipi di kernel sono il kernel monolitico, il microkernel, il kernel ibrido, il nanokernel e l'exokernel.

Il kernel gestisce tutte le risorse di sistema del computer. Ciò include l'archiviazione a lungo termine, l'unità centrale di elaborazione (CPU), la memoria a breve termine e i dispositivi di input e output. Quando un'applicazione necessita di una di queste risorse, il kernel rende disponibile la risorsa e completa la richiesta.

Questa gestione delle risorse consente ai sistemi operativi di essere multiutente e multitasking. Il sistema operativo in realtà non esegue più di un'attività alla volta. Al contrario, il kernel cambia attività a una velocità così elevata che il computer sembra eseguire più attività. Il kernel ha anche la responsabilità di assicurarsi che le risorse utilizzate da un utente o processo non violino la richiesta di un altro utente o processo.

Esistono due tipi principali di kernel: il kernel monolitico e il microkernel. I kernel monolitici utilizzano un metodo di supervisione della gestione delle risorse in cui tutti i servizi del sistema operativo vengono eseguiti nello stesso spazio degli indirizzi, chiamato spazio del kernel. Alcuni kernel monolitici possono caricare e scaricare moduli eseguibili. Ciò estende le capacità del sistema operativo mantenendo una quantità minima di codice in esecuzione nello spazio del kernel in qualsiasi momento.

I micro kernel eseguono solo una quantità minima di servizi del sistema operativo, come la gestione della memoria, la gestione dei thread e la comunicazione tra processi nello spazio del kernel. Tutti gli altri servizi, quali driver di dispositivo, interfacce utente e gestione dei file, vengono eseguiti nello spazio utente. Il microkernel riduce al minimo la quantità di codice in esecuzione in modalità kernel.

Un kernel ibrido è una combinazione di monolitico e micro kernel. La maggior parte dei servizi di sistema del sistema operativo viene eseguita nello spazio del kernel, come un kernel monolitico. Esistono altri servizi, come il file system e il sistema a finestre, che vengono eseguiti nello spazio utente.

Gli altri tipi di kernel sono il nanokernel e l'exokernel. Il nanokernel utilizza i driver di dispositivo per gestire quasi tutti i servizi. Exokernel utilizza programmi per allocare risorse fisiche.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?