No necesariamente se necesita un núcleo para usar una computadora. Los programas pueden cargarse y ejecutarse directamente en una computadora «vacía», siempre que sus autores quieran desarrollarlos sin usar ninguna abstracción del hardware ni ninguna ayuda del sistema operativo. Ésta era la forma normal de usar muchas de las primeras computadoras: para usar distintos programas se tenía que reiniciar y reconfigurar la computadora cada vez. Con el tiempo, se empezó a dejar en memoria (aún entre distintas ejecuciones) pequeños programas auxiliares, como el cargador y el depurador, o se cargaban desde memoria de sólo lectura. A medida que se fueron desarrollando, se convirtieron en los fundamentos de lo que llegarían a ser los primeros núcleos de sistema operativo.
Hay cuatro grandes tipos de núcleos:
- Los núcleos monolíticos facilitan abstracciones del hardware subyacente realmente potentes y variadas.
- Los micronúcleos (en inglés microkernel) proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.
- Los núcleos híbridos (micro núcleos modificados) son muy parecidos a los micro núcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente. Son los que reciben o dan salida a señales analógicas que son procesadas digitalmente. Esto puede realizarse gracias a los convertidores analógicos/digitales que, como su nombre indica, convierte señales analógicas a digitales.
- Los exonúcleos no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo.