Posteado por: wozgeass | diciembre 31, 2009

¿Que es el kernel ? y su Desarrollo.


Los comienzos acerca del kernel GNU/Linux giran entorno a dos grandes figuras del movimiento del software Libre en la actualidad, Richard Stallman y Linus Torvalds. El primero de ellos en 1983 inicio el proyecto GNU con el objetivo de crear un sistema operativo parecido a UNIX y compatible con POSIX. Como parte de su trabajo escribio la licencia publica General GNU(GPL). A principios de 1990 se tenia lo suficiente para crear un sistema operativo completo, pero el Kernel GNU, llamado Hurd, habia fallado en la captacion de desarrolladores y por tanto en su velocidad de desarrollo.

Linus Torvalds por su parte comenzo en 1991, en Helsinki, un proyecto que mas tarde convertiria en el kernel de linux. Inicialmente fue un emulador de terminal que Torvalds usaba para acceder a grandes servidores de la Universidad, y finalmente culmino en Minix usando el compilador GNU de C, siendo esta principal eleccion hoy dia para compilar Linux.

El primer nombre que adopto la invencion de Linus Torvalds fue “Freax”, una palabra compuesta por “Freak”, “Free” y “X” en referencia a Unix. El proyecto permanecio con este nombre sobre medio año, pero despues considero el nombre de “Linux” que inicialmente no habia sido considerado por parecer demasiado egoista(Por similitud con su nombre).

La primera publicacion del kernel de linux – entonces conocido exclusivamente como linux – fue bajo su propia licencia, que era esencialemente, una licencia de codigo compartido con una restriccion en la actividad. En 1992 Torvalds sugirio el cambio a la licencia publica general de GNU. Primero anuncio este cambio en las notas de lanzamiento de la version 0.12 y a mediados de diciembre de 1992 publico la version 0.99 haciendo uso de GNU GPL. Los desarrolladores de linux y GNU trabajaron para integrar los componentes GNU con linux para hacer un sistema operativo funcionalmente potente y libre. Por entonces, Torvalds dijo: “HACER LINUX GPL podria ser definitivamente la mejor cosa que nunca he hecho“.

La designacion “LINUX” fue inicialmente usada por Torvalds solo para el kernel de linux. El kernel, sin embargo, era frecuentemente usado junto otro software, especialmente software perteneciente al proyecto GNU. Esto rapidamente tomo la adopcion popular de GNU Software. En Jnio de 1994 en un boletin de GNU, Linux fue referido como un “Clon Libre de Unix”, y el proyecto Debian comenzo llamando a su producto Debian GNU/Linux. En mayo de 1996, Richard Stallman pubico el editor Emacs, en el que el tipo de sistema fue renombrado de Linux a Lignux. Esto intentaba hace referencia a la combinacion de GNU y Linux, pero esta idea se abandono pronto en favor de GNU/Linux.

2.X

Hay muchos otros conocidos que mantienen el kernel de Linux junto a Torvalds como Alan Cox y Marcelo Tosatti. Cox mantuvo la version 2.2 del kernel hasta que fue interrumpida a finales de 2003. Asimismo, Tosatti mantuvo la version 2.4 del kernel hasta mediados de 2006. Andrew Morton dirige el desarrollo y administracion del kernel 2.6, que fue lanzado el 18 de diciembre de 2003 en su primera encarnacion estable y es en la actualidad el kernel que se usa en la mayoria de distribuciones GNU/Linux.

La version del nucleo de Linux consta actualmente de cuatro numero. Por ejemplo actualmente la version actual del kernel de la distribucion GNU/Linux Ubuntu 9.10 es la 2.6.31-14 y como mi distribucion favorita Gentoo viene con una version 2.6.30-9. Asumiendo que el numero de la version esta compuesta de esta forma: A.B.C.D (ej.: 2.2.8, 2.4.29-15, 2.6.31-14).

  • EL numero A: es la version del nucleo. Es el que cambia con menor frecuencia y solo lo hace cuando se produce un gran cambio en el codigo o en el concepto del nucleo. Historicamente solo ha sido modificado dos veces: en 1994(Version 1.0) y en 1996(Version 2.0).
  • EL numero B: es la mayor revision del nucleo. Antes de la serie de Linux 2.6.x, los numeros pares indicaban la version “Estable” lanzada. Por ejemplo una para uso de fabricacion, como el 1.2, 2.4 o 2.6. Los numeros impares, en cambio, como la serie 2.5.x, son versiones de desarrollo, es decir que no son consideradas de produccion. Comenzando con la serie 2.6.x, no hay gran diferencia entre numeros pares o impares con respecto a las nuevas herramientas desarrolladas en la misma serie del nucleo. Linus Torvalds dictamino que esta sera el modelo en el futuro.
  • El numero C: es la revision menor en el nucleo. En la forma anterior de versiones con tres numeros, esto fue cambiado cuando se implementaron en el nucleo los parches de seguridad, bugfixes, nuevas caracteristicas o drivers. Con la nueva politica, solo es cambiado cuando se introducen nuevos drivers o caracteristicas: cambios menores se reflejan en el numero D.
  • El numero D: Cuando se produce un error grave, que requiere de un arreglo inmediato, se encontro en el codigo NFS de la version 2.6.8. Sin embargo, no habia otros cambios como para lanzar una nueva revision(la cual hubiera sido 2.6.9). Entonces se lanzo la version 2.6.8.1, con el error arreglado como unico cambio. Con 2.6.11, esto fue adoptado con la nueva politica de versiones. Bug-fixes y parches de seguridad son actualmente manejados por el cuarto numero dejando los cambios mayores para el numero C.

En ocasiones tras los digitos de las versiones puede haber algunas letras como “rc1” o “mm2”. El “rc” se refiere a “relase candidate” e indica un lanzamiento no oficial. Otras letras usualmente(pero no siempre) hace referencia a las iniciales de la persona. Esto indica una bifurcacion en el desarrollo del nucleo realizado por esas personas. Esto indica una bifurcacion en el desarrollo del nucleo realizado por esa persona, por ejemplo”ck” se refiere a Con Kolivas, “ac” a Alan Cox, mientras que “mm” se refiere a Andrew Morton. Estos, junto a otro grupo de personas son los usuales desarrolladores que mantiene el nucleo de linux aunque en este año se incremento el numero de personas que lo mantienen.

2.6.x.

El modelo de desarrollo para linux 2.6 fue un cambio significativo desde modelo de desarrollo de linux 2.5. Previamente exstia una rama estable (2.4) done se habia producido cambios menores y seguros, y una rama inestable(2.5) donde estaban permitidos cambios mayores. Esto significo que los usuarios siempre tenian una version 2.4 a prueba de fallos y con lo ultimo en seguridad y casi libre de bugs, aunque tuvieran que esperar las caracteristicas de la rama 2.5. La rama 2.5 fue eventualmente declarada estable y renombrada como 2.6. Pero en vez de abrir una rama 2.7 inestable, los desarrolladores eligieron continuar agregando los cambios en la rama “estable” 2.6. De esta forma no habia que conseguir manteniendo una rama vieja pero estable y se podia hacer que las nuevas caracteristicas estuvieran rapidamente disponibles y se pudieran realizar mas test con el ultimo codigo.

Sin embargo, el modelo de desarrollo del nuevo 2.6 tambien significo que habia una rama estable para aquellos que esperaban seguridad y bug fixes sin necesitar las ultimas caracteristicas. Los arreglos solo estaba en la ultima version, asi que si un usuario queria una version con todos los bug fixed conocidos tambien tendria las ultimas caracteristicas, las cuales no habian sido bien testeadas. Una solucion parcial para esto fue la version ya mencionada de cuatro numeros (2.6.x.y), la cual significa lanzamientos puntuales creados por el equipo estable(Greg Kroah-Hartman, Chris Wright, y quizas otros). El equipo estable solo lanzaba actualizaciones para el nucleo mas reciente, sin embargo esto no soluciono el problema de la falta de una serie estable del nucleo. Los vendedores de distribuciones GNU/Linux como Red Hat y Debian, mantienen los nucleos que salen con sus lanzamientos, de formaque una solucion segura para la mayoria de las personas es seguir el nucleo de una distribucion.

Anuncios

Responses

  1. Importante Post!


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: