An Overview of Monolithic and Microkernel Architectures
This document provides an overview of two kernel types: the microkernel and the monolithic kernel.1 While the
focus here is on kernels, developers and users experience kernels to a large degree through their interactions with an
operating system. Questions such as, “Which kernel is best for my team or project?” or “Should I really move our development
from one kernel type to another?” tend to be answered in the context of an operating system, investments
in existing IP on a given OS, and the overhead associated with switching from one OS system to another. Linux is
perhaps the best-known example of an OS with a monolithic kernel, and our own VxWorks® also features a monolithic
kernel. At Wind River®, discussions about the merit of one kernel versus the other come up almost exclusively in
conversations with our automotive customers who are familiar with the microkernel-based QNX Neutrino Real-Time
Operating System.