Sommario:
Definizione - Cosa significa Kernel?
Un kernel è il componente principale di un sistema operativo. Utilizzando la comunicazione tra processi e le chiamate di sistema, funge da ponte tra le applicazioni e l'elaborazione dei dati eseguita a livello hardware.
Quando un sistema operativo viene caricato in memoria, il kernel si carica per primo e rimane in memoria fino a quando il sistema operativo non viene nuovamente spento. Il kernel è responsabile di attività di basso livello come la gestione del disco, la gestione delle attività e la gestione della memoria.
Techopedia spiega il kernel
Un kernel del computer si interfaccia tra i tre principali componenti hardware del computer, fornendo servizi tra l'interfaccia utente / applicazione e la CPU, la memoria e altri dispositivi I / O hardware.
Il kernel fornisce e gestisce risorse del computer, consentendo ad altri programmi di eseguire e utilizzare queste risorse. Il kernel imposta anche lo spazio degli indirizzi di memoria per le applicazioni, carica i file con il codice dell'applicazione in memoria, imposta lo stack di esecuzione per i programmi e si dirama verso posizioni particolari all'interno dei programmi per l'esecuzione.
Il kernel è responsabile di:
- Gestione dei processi per l'esecuzione dell'applicazione
- Gestione della memoria, allocazione e I / O
- Gestione dei dispositivi mediante l'uso di driver di dispositivo
- Controllo delle chiamate di sistema, che è essenziale per l'esecuzione dei servizi del kernel
Esistono cinque tipi di kernel:
- Kernel monolitici: tutti i servizi del sistema operativo corrono lungo il thread del kernel principale in un kernel monolitico, che si trova anche nella stessa area di memoria, fornendo così un accesso hardware potente e ricco.
- Micro kernel: definire una semplice astrazione sull'hardware che utilizza primitive o chiamate di sistema per implementare servizi OS minimi come multitasking, gestione della memoria e comunicazione tra processi.
- Kernel ibridi: esegui alcuni servizi nello spazio del kernel per ridurre il sovraccarico di prestazioni dei microkernel tradizionali in cui il codice del kernel viene ancora eseguito come server nello spazio utente.
- Nano kernel: semplifica i requisiti di memoria delegando i servizi, inclusi quelli di base come controller di interruzione o timer per i driver di dispositivo.
- Kernel Exo: alloca risorse hardware fisiche come il tempo del processore e il blocco del disco ad altri programmi, che possono collegarsi ai sistemi operativi della libreria che usano il kernel per simulare le astrazioni del sistema operativo.