Skip to main content

En informática, ¿qué es un núcleo?

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 le permite a la computadora manejar múltiples usuarios y múltiples tareas simultáneamente. Los tipos de núcleos son el núcleo monolítico, el microkernel, el kernel híbrido, el nanokernel y el exokernel.

El núcleo gestiona 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 núcleo hace que el recurso esté disponible y completa la solicitud.

Este manejo de recursos permite que los sistemas operativos sean tanto multiusuario como multitarea. 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.

Existen dos tipos principales de núcleos: el núcleo 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, denominado espacio del núcleo. Algunos núcleos monolíticos pueden cargar y descargar módulos ejecutables. Esto extiende las capacidades del sistema operativo mientras mantiene una cantidad mínima de código que se ejecuta en el espacio del kernel en cualquier momento.

Los microkernel solo ejecutan 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 controladores de dispositivos, interfaces de usuario y 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 los monolíticos y microkernels. La mayoría de los servicios del sistema operativo del sistema operativo se ejecutan en el espacio del núcleo, como un núcleo 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.