Programa que se inicia al arrancar el ordenador y sirve para gestionar los resursos de nuestro sistema informático, tanto del hardware (partes físicas, disco duro, pantalla, teclado, etc.) como del software (programas e instrucciones), permitiendo así la comunicación entre el usuario y el ordenador.
Para entender los diseños de sistemas operativos existentes, tenemos que hacer referencia a los modos de ejecución del procesador. El modo de ejecución del procesador determina qué conjunto de instrucciones y a qué recursos del procesador se puede acceder.
Los procesadores ofrecen, como mínimo, dos modos de funcionamiento del procesador:
El núcleo del sistema operativo, también conocido por la terminología inglesa kernel, es la parte más esencial del sistema operativo. Es la parte del código del sistema operativo que se ejecuta en modo privilegiado del procesador.
Al operar en dicho modo, un error de programación en el núcleo del sistema operativo resulta en un error fatal del cual el sistema sólo puede recuperarse mediante el reinicio del sistema. A tal error fatal también se le conoce en los sistemas operativos UNIX por la locución inglesa kernel panic y en los sistemas operativos Windows por el nombre de Pantallazo azul o BSOD.
Los sistemas operativos se pueden clasificar en base a la cantidad de funcionalidades propias del sistema operativo que se implementan en su núcleo. En general distinguimos dos
tipos de sistemas operativos:En número de líneas de código, el núcleo monolítico es mayor que el micronúcleo, al implementar más componentes del sistema operativo que permiten la gestión del computador en el espacio del núcleo, es decir, en modo privilegiado.
Los sistemas operativo monolíticos ofrecen mejor rendimiento que los micronúcleos, pero los micronúcleos son más fiables, pues un fallo de programación en el núcleo lleva al traste con la ejecución del sistema.