Wenn ein Anwendungsprogramm geladen ist und ausgeführt wird, kann es Ressourcen (z. B. Anforderungsspeicher, offene Dateien) anfordern. Wenn das Programm beendet wird, kann der Kernel diese Ressourcen freigeben (wenn das Programm nicht nach sich selbst bereinigt), da die Anwendung im Benutzermodus ausgeführt wird, während der Kernel im Supervisor-Modus ausgeführt wird.
Ein Kernel-ladbares Modul kann auf ähnliche Weise wie ein Anwendungsprogramm geladen und entladen werden. Der Kernel kann das Kernel-Modul jedoch nicht (oder nicht) überwachen, da das Modul Teil des Kernels ist und auch im privilegierten Modus als Teil des Kernels ausgeführt wird.
Bevor ein Kernel-Modul entladen wird, muss es daher alle von ihm erworbenen Ressourcen freigeben sowie alle aktivierten Geräte stilllegen. Die Exitroutine ist die letzte Möglichkeit, dass das Modul diese Vorgänge ausführen muss, oder das System kann sich in einem instabilen Zustand befinden.