About this interactive
The kernel is the part of the operating system closest to the hardware, and the operating system is split into kernel mode, user mode and the applications on top. Every kernel designer decides how much code goes into kernel mode, and that decision is what makes a kernel monolithic or a microkernel.
Put more code inside the kernel, such as drivers, the file system and memory management, and you have a monolithic kernel. It is fast, because code that lives together can be tuned together. The cost is a huge block of code where one change can affect parts nobody expected, which makes it hard to manage and can make the system unstable.
Pull that code out into smaller programs in user mode and you have a microkernel. It is small and easier to maintain, a fix can often go in by restarting one service, and a crash in one piece is less likely to take the whole system down. The cost is speed: the pieces have to pass messages to each other, so it cannot be tuned as tightly.
It is not all or nothing, and real kernels sit somewhere between. Two corrections to the video. Linux is a monolithic kernel and has stayed one; its loadable modules add drivers without rebuilding the kernel, but they still run inside it. Windows NT, which the video files under microkernels, is a hybrid kernel: its core is organised like a microkernel's, but its drivers, file system and graphics all run in kernel mode for speed, which puts it near the monolithic end. For a true microkernel, look at QNX, which runs in many cars.
The question for every card: does this put code in the kernel, or move it out?
About TechKnowSurge
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →