5.1 ¿Qué es el kernel/núcleo?

Imagen de ElSanto

El kernel o núcleo de linux se podría definir como el corazón de este sistema operativo. Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.

Las funciones más importantes del mismo, aunque no las unicas, son:

  • Administración de la memoria, para todos los programas en ejecución.

  • Administración del tiempo de procesador, que estos programas en ejecución utilizan.
  • Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera comoda.

Existen dos versiones del Linux kernel:

  • Versión de producción: La versión de producción, es la versión estable hasta el momento. Esta versión es el resultado final de las versiones de desarrollo o experimentales.
    Cuando el equipo de desarrollo del núcleo experimental, decide que ha conseguido un núcleo estable y con la suficiente calidad, se lanza una nueva versión de produción o estable. Esta versión es la que se debería utilizar para un uso normal del sistema, ya que son las versiones consideradas más estables y libres de fallos en el momento de su lanzamiento.

  • Versión de desarrollo: Esta versión es experimental y es la que utilizan los desarrolladores para programar, comprobar y verificar nuevas características, correcciones, etc. Estos núcleos suelen ser inestables y no se deberian usar, a no ser que sepas lo que haces.

Cómo interpretar los números de las versiones: Las versiones del núcleo se numeran con 3 números, de la siguiente forma: XX.YY.ZZ

  • XX: Indica la serie principal del núcleo. Hasta el momento solo existen la 1 y 2. Este numero cambia cuando la manera de funcionamiento del núcleo ha sufrido un cambio muy importante.

  • YY: Indica si la versión es de desarrollo o de producción. Un número impar, significa que es de desarrollo, uno par, que es de producción.
  • ZZ: Indica nuevas versiones dentro de una versión, en las que lo unico que se ha modificado, son fallos de programación /bugs.
    Unos ejemplos nos ayudarán a entenderlo mejor:

  • ej1: versión del núcleo 2.0.0: Núcleo de la serie 2 (XX=2), versión de producción 0 (YY=0 par), primera versión de 2.0 (ZZ=0)
  • ej2: versión del núcleo 2.0.1: Núcleo de la serie 2, version 0, en el que se han corregido errores de programación presentes en la versión 2.0.0 (ZZ=1)
  • ej3: version del nucleo 2.1.100: version 100 del nucleo de desarrollo 2.1.