Home : Software Terms : Microkernel Definition


A microkernel is a minimalistic kernel designed to be as small as possible. It contains only the basic code needed to communicate with hardware and load an operating system.

Most modern kernels, sometimes called "monolithic kernels," contain several million lines of code. For example, the Linux 3.0 kernel includes over 15 million lines. Microkernels, on the other hand, generally contain less than 10,000 lines of code. They are able to maintain a small size by loading most system processes in the user mode rather than the kernel itself.

A monolithic kernel may include device drivers, file system support, and inter-process communication (IPC) protocols for applications. A microkernel only includes basic system IPC protocols and memory management functions. Everything else is loaded in user mode (when a user logs on). This keeps the kernel size small and also provides a modular type of OS since custom drivers and file systems can be loaded by the kernel.

Microkernels were popular in the 1980s because of the memory and storage limitations of early computer systems. While they are still used for some server OSes, most major operating systems, such as Windows and OS X, use monolithic kernels.

Updated: February 26, 2015

Cite this definition:


TechTerms - The Tech Terms Computer Dictionary

This page contains a technical definition of Microkernel. It explains in computing terminology what Microkernel means and is one of many software terms in the TechTerms dictionary.

All definitions on the TechTerms website are written to be technically accurate but also easy to understand. If you find this Microkernel definition to be helpful, you can reference it using the citation links above. If you think a term should be updated or added to the TechTerms dictionary, please email TechTerms!

Subscribe to the TechTerms Newsletter to get featured terms and quizzes right in your inbox. You can choose to receive either a daily or weekly email.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe at any time.
Questions? Please contact us.