viernes, 9 de mayo de 2008

Kernel de Linux

El kernel ó núcleo de linux se puede 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 únicas, son:

* Administración de la memoria para todos los programas y procesos en ejecución.
* Administración del tiempo de procesador que los programas y procesos en ejecucion utilizan.
* Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda.

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

--> Versión de produccion: La version de produccion, era la version estable hasta el momento. Esta version era el resultado final de las versiones de desarrollo o experimentales.

Cuando el equipo de desarrollo del núcleo experimental, decidia que tenia un núclo estable y con la suficiente calidad, se lanzaba una nueva versión de producción ó estable. Esta versión era la que se debia utilizar para un uso normal del sistema, ya que eran las versiones consideradas más estables y libres de fallos en el momento de su lanzamiento.

--> Versión de desarrollo: 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 solian ser inestables y no se debian usar sin saber lo que se hacia.

Como interpretar los numeros de las versiones de las series por debajo de la 2.6:

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

AA: Indicaba la serie/versión principal del núcleo. Solo han existido la 1 y 2. Este número cambiaba cuando la manera de funcionamiento del kernel habia 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 habia modificado eran fallos de programación.


--> Unos ejemplos nos ayudaran a entenderlo mejor:

ej1: 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)
ej2
: 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 version 2.4.0 (CC=1)
ej3: versión del núcleo 2.5.0: versión 0 del núcleo de desarrollo 2.5.

Con la serie 2.6 del núcleo, el sistema de numeración asi como el modelo de desarrollo han cambiado. Las versiones han pasado a numerarse con 4 digitos y no existen versiones de produccion y desarrollo.
--> Las versiones del núcleo se numeran hoy en dia con 4 digitos, de la siguiente forma: AA.BB.CC.DD.

AA: Indica la serie/versión principal del núcleo.
BB: Indica la revision principal del núcleo. Numeros pares e impares no tienen ningun significado hoy en dia.
CC: Indica nuevas revisiones menores del núcleo. Cambia cuando nuevas caracteristicas y drivers som soportados.
DD: Este digito cambia cuando se corrigen fallos de programación o fallos de seguridad dentro de una revisión.

Hoy en dia se suele usar el nucleo distribuido con la distribucion que el usuario utiliza. Son las distribuciones las encargadas de distribuir núcleos estables a sus ausuarios y estos nucleos se basan en el núcleo ("vanilla") distribuido por Linux Torvalds y el equipo de programadores del núcleo.


Dónde conseguir el núcleo

El núcleo denominado "vanilla" (sin alteraciones y suministrado por Linux Torvalds) se puede bajar de un gran número de servidores en internet pero el sitio oficial es http://www.kernel.org/. En este enlace tienes la lista internacional oficial de servidores espejos, de donde es posible bajarse cualquier versión del núcleo (última y antigüas). A continuacion teneis una tabla resumen con las ultimas versiones del kernel:

Ultima version estable del kernel: 2.6.25.3
Ultima version alpha de la serie 2.6: 2.6.26-rc2
Ultima version estable de la serie 2.4: 2.4.36.4
Ultima version alpha de la serie 2.4: 2.2.26
Ultima version estable de la serie 2.2: 2.2.27-rc2

Cada distribución distribuye sus nucleos por los canales de actualización habituales para cada una de ellas.


Configuración e instalación de un nuevo núcleo

Este es uno de los temas que asustan a los nuevos usuarios de Linux. Lo primero, decir que no hay razón para asustarse, la configuración e instalación de un nuevo núcleo en nuestro sistema es mas fácil de lo suena. Lo segundo, es que pueden tener un sistema estable, actualizado y que funcione sin problemas durante meses sin tener que compilar un solo núcleo, siempre y cuando utilicen los núcleos distribuidos con vuestra distribución.

Es muy recomendable el utilizar los núcleos distribuidos por la distribución que utiliceis. Estos núcleos tienen muy buena calidad y son muy completos y con esto evitar el trabajo de configurar, compilar y mantener nuevas versiones del núcleo. Si son de los que les gustan experimentar y aprender nuevas cosas, adelante, nadie impide que bajemos el último núcleo y experimentar con el, esto era mucho más común hace unos años y una tarea casi imprescindible en muchos casos.

Para los interesados en el tema existen dos links muy buenos que pueden utilizar para aprender a como compilar un núcleo, FAQ/Kernel compilation y el Kernel Rebuild Guide.


Esta informacion fue sacada de www.linux-es.org


¿ Como saber la version de kernel que estamos usando?

Pues esto es muy facil solo es cuestion de dar el comando uname -r y este nos mostrara la informacion solicitada.

No hay comentarios: