
El kernel o nú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:
Enlaces transversales de Book para El kernel o núcleo
El kernel o núcleo escrito por Rafa Morales está protegido por una licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional