Un microkernel es un minimalista. núcleo diseñado para ser lo más pequeño posible. Contiene solo el código básico necesario para comunicarse con hardware y cargar un sistema operativo.
La mayoría de los núcleos modernos, a veces llamados «núcleos monolíticos», contienen varios millones de líneas de código. Por ejemplo, el Linux El núcleo 3.0 incluye más de 15 millones de líneas. Los microkernels, por otro lado, generalmente contienen menos de 10,000 líneas de código. Son capaces de mantener un tamaño pequeño al cargar la mayoría de los procesos del sistema en el modo de usuario en lugar del núcleo en sí.
Un núcleo monolítico puede incluir controladores de dispositivo, del sistema de archivos soporte y comunicación entre procesos (IPC) protocolos para aplicaciones. Un microkernel solo incluye protocolos básicos del sistema IPC y memoria funciones administrativas. Todo lo demás se carga en modo de usuario (cuando un usuario inicia sesión). Esto mantiene el tamaño del kernel pequeño y también proporciona un tipo de sistema operativo modular ya que el kernel puede cargar controladores personalizados y sistemas de archivos.
Los microkernels eran populares en los 1980 debido a las limitaciones de memoria y almacenamiento de los primeros sistemas informáticos. Mientras todavía se usan para algunos servidor Sistemas operativos, la mayoría de los principales sistemas operativos, como Windows y a la OS X, use núcleos monolíticos.