Betriebssysteme verwenden in der Regel monolithische Kernel. In Linux zum Beispiel sind Gerätetreiber oft Teil eines Kernels (speziell Loadable Kernel Modules). Wenn ein Gerät benötigt wird, wird seine Erweiterung geladen und mit dem Kernel „verbunden“, wodurch der Kernel größer wird. Monolithische Kernel können Probleme verursachen, wenn einer dieser Treiber fehlerhaft ist, z. B. wenn ein Beta-Treiber heruntergeladen wird. Da er Teil des Kernels ist, kann der fehlerhafte Treiber die Mechanismen außer Kraft setzen, die mit fehlerhaften Programmen umgehen (siehe oben). Dies kann dazu führen, dass der Kernel und damit der gesamte Computer nicht mehr funktioniert. Wenn es zu viele Geräte gibt, kann dem Kernel auch der Speicher ausgehen, was zu einem Systemabsturz führt oder den Computer sehr langsam macht.
Mikrokernel sind eine Möglichkeit, dieses Problem zu lösen. In einem Mikrokernel-Betriebssystem kümmert sich der Kernel nur um kritische Aktivitäten, wie die Steuerung des Speichers und der CPU, und um nichts anderes. Treiber und andere Funktionen, die bei monolithischen Kerneln normalerweise innerhalb des Kerns liegen würden, werden außerhalb des Kerns verlagert, wo sie unter Kontrolle sind. Anstatt ein unkontrollierbarer Teil des Kernels zu sein, ist es daher nicht wahrscheinlicher, dass ein Beta-Treiber einen Absturz verursacht als ein Beta-Webbrowser. Das heißt, wenn ein Treiber schief geht, kann er einfach vom Kernel neu gestartet werden. Leider ist das Erstellen von Mikrokernel-basierten Betriebssystemen sehr schwierig und es gibt keine gängigen Mikrokernel-Betriebssysteme. Minix und QNX sind beide Mikrokernel-Betriebssysteme.