Systemy operacyjne powszechnie używają monolitycznych kerneli. W Linuksie, na przykład, sterowniki urządzeń są często częścią jądra (konkretnie Loadable Kernel Modules). Kiedy urządzenie jest potrzebne, jego rozszerzenie jest ładowane i „dołączane” do jądra, przez co jądro staje się większe. Monolityczne jądra mogą powodować problemy, gdy jeden z tych sterowników jest wadliwy, np. gdy pobierany jest sterownik w wersji beta. Ponieważ jest on częścią jądra, wadliwy sterownik może nadpisać mechanizmy, które radzą sobie z wadliwymi programami (patrz wyżej). Może to oznaczać, że jądro, a tym samym cały komputer, może przestać działać. Jeśli istnieje zbyt wiele urządzeń, jądru może również zabraknąć pamięci, powodując awarię systemu lub czyniąc komputer bardzo powolnym.
Mikrokernele są sposobem na rozwiązanie tego problemu. W systemie operacyjnym z mikrokernelem, jądro zajmuje się tylko krytycznymi czynnościami, takimi jak kontrola pamięci i procesora, i niczym więcej. Sterowniki i inne funkcje, które monolityczne jądra normalnie zawierałyby w jądrze, są przenoszone poza jądro, gdzie są pod kontrolą. Zamiast być niekontrolowaną częścią jądra, sterownik beta nie jest bardziej prawdopodobne, że spowoduje awarię niż przeglądarka internetowa w wersji beta. Oznacza to, że jeśli sterownik się zepsuje, może być po prostu zrestartowany przez jądro. Niestety, tworzenie systemów operacyjnych opartych na mikrokernelach jest bardzo trudne i nie ma powszechnych systemów operacyjnych opartych na mikrokernelach. Minix i QNX są systemami operacyjnymi opartymi na mikrokernelach.