Microkernel

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

Definitions by TechTerms.com

The definition of Microkernel on this page is an original TechTerms.com definition. If you would like to reference this page or cite this definition, you can use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about the Microkernel definition or would like to suggest a new technical term, please contact us.

Want to learn more tech terms? Subscribe to the daily or weekly newsletter and get featured terms and quizzes delivered to your inbox.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.