Besturingssystemen gebruiken gewoonlijk monolithische kernels. In Linux bijvoorbeeld zijn apparaatstuurprogramma's vaak onderdeel van een kernel (met name Loadable Kernel Modules). Wanneer een apparaat nodig is, wordt de uitbreiding ervan geladen en 'gevoegd' bij de kernel, waardoor de kernel groter wordt. Monolithische kernels kunnen problemen veroorzaken wanneer een van deze drivers defect is, zoals wanneer een beta-driver wordt gedownload. Omdat het deel uitmaakt van de kernel, kan het defecte stuurprogramma de mechanismen voor het aanpakken van defecte programma's (zie hierboven) opheffen. Dit kan betekenen dat de kernel, en dus de hele computer, niet meer werkt. Als er te veel apparaten zijn, kan de kernel ook zonder geheugen komen te zitten, waardoor het systeem vastloopt of de computer erg traag wordt.
Microkernels zijn een manier om dit probleem op te lossen. In een microkernel-besturingssysteem houdt de kernel zich alleen bezig met kritieke activiteiten, zoals het aansturen van het geheugen en de CPU, en verder niets. Drivers en andere functies die monolithische kernels normaliter in de kernel zouden opnemen, worden verplaatst naar buiten de kernel, waar ze onder controle staan. In plaats van een oncontroleerbaar onderdeel van de kernel te zijn, is de kans dat een beta-driver een crash veroorzaakt niet groter dan een beta webbrowser. Dat wil zeggen, als een stuurprogramma fout gaat, kan het eenvoudigweg opnieuw worden gestart door de kernel. Helaas is het maken van op een microkernel gebaseerde besturingssystemen erg moeilijk en zijn er geen gangbare microkernel-besturingssystemen. Minix en QNX zijn beide microkernel-besturingssystemen.