El kernel o núcleo

Rafa Morales 11 Septiembre 2013
5min
0
Linux

El kernelnúcleo o es la parte del sistema operativo que interactúa con el hardware. Es el corazón del sistema operativo. El núcleo se carga en memoria al arrancar el sistema y permanece en ella hasta que se apaga.

La mayor ventaja es que se trata de un núcleo modular, que consiste en que todos los controladores que necesite el sistema no deben unirse estáticamente al mismo, pudiéndose cargar y descargar posteriormente en memoria. Un núcleo de gran tamaño podría ser imposible de cargar por el sistema.

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

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

  • Administración del tiempo de procesador que los procesos en ejecución utilizan.

  • Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda.

 

TIPOS DE VERSIONES

Hasta que empezó el desarrollo de la serie 2.6 del núcleo, existieron dos tipos de versiones del núcleo:

  • Versión de producción o estable: La versión de producción, era la versión estable hasta el momento. Esta versión era el resultado final de las versiones de desarrollo o experimentales.

  • Versión de desarrollo o experimentales: Esta versión era experimental y era la que utilizaban los desarrolladores para programar, comprobar y verificar nuevas características, correcciones, etc. Estos núcleos solían ser inestables y no se debían usar sin saber lo que se hacía.

 

NUMERACIÓN DE LAS VERSIONES

Cómo interpretar los números de las versiones de las series anteriores a la 2.6:

Las versiones del núcleo se numeraban con 3 números, de la siguiente forma: AA.BB.CC

  • AA: Indicaba la serie/versión principal del núcleo. Sólo han existido la 1 y 2. Este número cambiaba cuando la manera de funcionamiento del kernel había sufrido un cambio muy importante.

  • BB: Indicaba si la versión era de desarrollo ó de producción. Un número impar, significaba que era de desarrollo, uno par, que era de producción.

  • CC: Indicaba nuevas revisiones dentro de una versión, en las que lo único que se había modificado eran fallos de programación.

 

Unos ejemplos nos ayudarán a entenderlo mejor:

  • Versión del núcleo 2.4.0: Núcleo de la serie 2 (AA=2), versión de producción 4 (BB=4 par), primera versión de la serie 2.4 (CC=0)

  • Versión del núcleo 2.4.1: Núcleo de la serie 2, versión 4, en el que se han corregido errores de programación presentes en la versión 2.4.0 (CC=1)

  • Versión del núcleo 2.5.0: versión 0 del núcleo de desarrollo 2.5.

 

A partir de la serie 2.6 del núcleo, el sistema de numeración así como el modelo de desarrollo han cambiado. Las versiones han pasado a numerarse con 4 dígitos y no existen versiones de producción y desarrollo.

Las versiones del núcleo se numeran con 4 dígitos, de la siguiente forma: AA.BB.CC.DD.

  • AA: Indica la serie/versión principal del núcleo.

  • BB: Indica la revisión principal del núcleo. Números pares e impares no tienen ningún significado hoy en día.

  • CC: Indica nuevas revisiones menores del núcleo. Cambia cuando nuevas características y drivers son soportados.

  • DD: Este dígito cambia cuando se corrigen fallos de programación o fallos de seguridad dentro de una revisión.

 

En algunas ocasiones veremos que a la versión les acompañan las letras rc, eso significa Release Candidate, la versión de prueba candidata a ser versión definitiva.

 

A continuación se muestran las fechas de lanzamiento de las distintas versiones de Linux.

Versión

Fecha

Nota

Ficheros

Líneas Código

0.01

17 de Septiembre, 1991

Initial Public Release

88

8.413

0.02

5 de Octubre, 1991

 

-

-

0.11

8 de Diciembre, 1991

 

100

11.907

0.95

7 de Marzo, 1992

 

122

19.200

1.0.0

13 de Marzo, 1994

Primera versión estable

561

170.581

1.1.0

6 de Abril, 1994

Versión de desarrollo

561

170.320

1.2.0

6 de Marzo, 1995

 

909

294.623

1.3.0

12 de Junio, 1995

Versión de desarrollo

992

323.581

2.0.0

9 de Junio, 1996

 

2.015

716.119

2.1.0

30 de Septiembre, 1996

Versión de desarrollo

1.727

735.736

2.2.0

26 de Enero, 1999

 

4.599

1.676.182

2.3.0

11 de Mayo, 1999

Versión de desarrollo

4.721

1.763.358

2.4.0

4 de Enero, 2001

 

8.187

3.158.560

2.5.0

23 de Noviembre, 2001

Versión de desarrollo

9.893

3.833.603

2.6.0

18 de Diciembre, 2003

 

15.007

5.475.685

2.6.25

16 de Abril, 2008

 

23.810

8.396.250

2.6.30

10 de Junio, 2009

 

27.878

10.419.567

2.6.35

1 de Agosto, 2010

 

33.315

12.250.679

3.0

22 de Julio, 2011

 

36.782

13.688.408

 

KERNEL ACTUAL

Actualmente se suele usar el núcleo distribuido con la distribución que el usuario utiliza. Son las distribuciones las encargadas de distribuir núcleos estables a sus usuarios y estos núcleos se basan en el núcleo vanilla distribuido por Linus Torvalds y el equipo de programadores del núcleo.

Se pueden obtener las últimas versiones del núcleo en la página:

http://www.kernel.org/