Microkernel
Un microkernel è un kernel minimalista progettato per essere il più piccolo possibile. Contiene solo il codice di base necessario per comunicare con l'hardware e caricare un sistema operativo.
La maggior parte dei kernel moderni, talvolta chiamati "kernel monolitici", contiene diversi milioni di righe di codice. Ad esempio, il kernel Linux 3.0 include oltre 15 milioni di righe. I microkernel, invece, generalmente contengono meno di 10.000 righe di codice. Riescono a mantenere dimensioni ridotte caricando la maggior parte dei processi di sistema in modalità utente anziché nel kernel stesso.
Un kernel monolitico può includere driver di dispositivo, il supporto per il file system e i protocolli di comunicazione tra processi (IPC) per le applicazioni. Un microkernel include solo i protocolli IPC di base del sistema e le funzioni di gestione della memoria. Tutto il resto viene caricato in modalità utente, quando un utente accede al sistema. Questo mantiene ridotte le dimensioni del kernel e fornisce anche un tipo modulare di sistema operativo, poiché il kernel può caricare driver e file system personalizzati.
I microkernel erano popolari negli anni Ottanta a causa dei limiti di memoria e archiviazione dei primi sistemi informatici. Sebbene siano ancora utilizzati per alcuni sistemi operativi per server, la maggior parte dei principali sistemi operativi, come Windows e OS X, utilizza kernel monolitici.
Metti alla prova le tue conoscenze