Núcleo (informática)

El núcleo es la parte central de un sistema operativo. Gestiona las operaciones del ordenador y del hardware, sobre todo la memoria y el tiempo de la CPU.

Hay cinco tipos de núcleos:

  • Un micronúcleo, que sólo contiene la funcionalidad básica;
  • Un núcleo monolítico, que contiene muchos controladores de dispositivos.
  • Núcleo híbrido
  • Exo Kernel
  • Nano Kernel

Un usuario de ordenador nunca interactúa directamente con el kernel. Se ejecuta entre bastidores y no puede ser visto, excepto por los registros de texto que imprime.

Muestra el trabajo de un núcleo en un ordenadorZoom
Muestra el trabajo de un núcleo en un ordenador

Operaciones del núcleo

El núcleo es la parte más fundamental de un sistema operativo. Puede considerarse como el programa que controla todos los demás programas del ordenador. Cuando el ordenador se inicia, pasa por algunas funciones de inicialización (arranque), como la comprobación de la memoria. Es responsable de asignar y desasignar el espacio de memoria que permite la ejecución del software.

El núcleo proporciona servicios para que los programas puedan solicitar el uso de la tarjeta de red, el disco u otras piezas de hardware. El kernel envía la solicitud a programas especiales denominados controladores de dispositivos que controlan el hardware. También gestiona el sistema de archivos y establece las interrupciones de la CPU para permitir la multitarea. Muchos kernels también se encargan de garantizar que los programas defectuosos no interfieran con el funcionamiento de otros, denegando el acceso a la memoria que no se les ha asignado y restringiendo la cantidad de tiempo de CPU que pueden consumir. Es el corazón del sistema operativo.

Micronúcleos y núcleos monolíticos

Los sistemas operativos suelen utilizar núcleos monolíticos. En Linux, por ejemplo, los controladores de dispositivos suelen formar parte de un núcleo (concretamente, de los módulos cargables del núcleo). Cuando se necesita un dispositivo, su extensión se carga y se "une" al núcleo haciendo que éste sea más grande. Los núcleos monolíticos pueden causar problemas cuando uno de estos controladores es defectuoso, como por ejemplo si se descarga un controlador beta. Al formar parte del núcleo, el controlador defectuoso puede anular los mecanismos que se ocupan de los programas defectuosos (véase más arriba). Esto puede significar que el kernel, y por tanto todo el ordenador, puede dejar de funcionar. Si hay demasiados dispositivos, el kernel también puede quedarse sin memoria causando un fallo del sistema o haciendo que el ordenador sea muy lento.

Los micronúcleos son una forma de resolver este problema. En un sistema operativo de micronúcleo, éste se ocupa sólo de las actividades críticas, como el control de la memoria y la CPU, y nada más. Los controladores y otras funciones que los kernels monolíticos incluirían normalmente dentro del kernel se trasladan fuera de éste, donde están bajo control. En lugar de ser una parte incontrolable del núcleo, el controlador beta no tiene más probabilidades de causar un fallo que un navegador web beta. Es decir, si un controlador va mal, simplemente puede ser reiniciado por el núcleo. Por desgracia, crear sistemas operativos basados en el micronúcleo es muy difícil y no hay sistemas operativos de micronúcleo comunes. Minix y QNX son ambos sistemas operativos de microkernel.


AlegsaOnline.com - 2020 / 2023 - License CC3