En informática, ¿qué es un kernel?

En la mayoría de los sistemas operativos de computadora, el núcleo es el componente central. Es el puente entre el usuario y las aplicaciones y el hardware de la computadora. También es el mecanismo que permite que la computadora maneje múltiples usuarios y múltiples tareas simultáneamente. Los tipos de granos son el monolítico, el microkernel, el híbrido, el nanokernel y el exokernel.

El kernel administra todos los recursos del sistema de la computadora. Esto incluye el almacenamiento a largo plazo, la unidad central de procesamiento (CPU), la memoria a corto plazo y los dispositivos de entrada y salida. Cuando una aplicación necesita uno de estos recursos, el kernel hace que el recurso esté disponible y completa la solicitud.

Este manejo de recursos permite que los sistemas operativos sean tanto multiusuario como multitarea. En realidad, el sistema operativo no realiza más de una tarea a la vez. En cambio, el kernel cambia las tareas a una velocidad tan alta que la computadora parece estar realizando múltiples tareas. El kernel también es responsable de asegurarse de que los recursos utilizados por un usuario o proceso no sean violados por la solicitud de otro usuario o proceso.

Hay dos tipos principales de granos: el monolítico y el microkernel. Los núcleos monolíticos emplean un método de supervisión de gestión de recursos en el que todos los servicios del sistema operativo se ejecutan en el mismo espacio de direcciones, llamado espacio del núcleo. Algunos núcleos monolíticos pueden cargar y descargar módulos ejecutables. Esto amplía las capacidades del sistema operativo al tiempo que mantiene una cantidad mínima de código que se ejecuta en el espacio del kernel en cualquier momento.

Los microkernels ejecutan solo la cantidad mínima de servicios del sistema operativo, como la administración de memoria, la administración de subprocesos y la comunicación entre procesos en el espacio del kernel. Todos los demás servicios, como los controladores de dispositivos, las interfaces de usuario y la gestión de archivos, se ejecutan en el espacio de usuario. El microkernel minimiza severamente la cantidad de código que se ejecuta en el modo kernel.

Un núcleo híbrido es una combinación de monolítico y microkernel. La mayoría de los servicios del sistema del sistema operativo se ejecutan en el espacio del kernel, como un kernel monolítico. Hay otros servicios, como el sistema de archivos y el sistema de ventanas, que se ejecutan en el espacio del usuario.
Los otros tipos de kernel son el nanokernel y el exokernel. El nanokernel utiliza controladores de dispositivos para manejar casi todos los servicios. El exokernel utiliza programas para asignar recursos físicos.