Linus Torvalds y el kernel Linux

El primer kernel libre y operativo no llegaría hasta la década de los 90.

En 1991 Linus Torvalds un estudiante finlandés de 21 años desarrolló un núcleo compatible con Unix y lo denominó Linux.


Todo comenzó como un proyecto fin de carrera: se trataba de programar un núcleo para sistema operativo inspirado en Minix, un pequeño Unix desarrollado por el profesor Andrew Tanenbaum.

"Estoy haciendo un sistema operativo libre (es sólo un hobby, no será grande ni profesional como GNU) pero funciona en 386(486) AT clones, lo he estado cocinando desde abril y está quedando listo. Quisiera alguna retroalimentación de las cosas que a ustedes les gustan y no les gustan de MINIX, ..."

Este sencillo mensaje de Torvalds en un grupo de noticias motivó una avalancha de colaboradores y los frutos no se harían esperar. En enero de 1992 se publicó la versión 0.02, y poco tiempo después, en marzo de 1994 se liberó la versión 1.0.0, ya lista para sistemas en producción. A partir de esta versión al combinar Linux con el sistema no completo GNU resultó un sistema operativo libre completo cuyo nombre correcto es GNU/Linux, y no simplemente Linux por más que esta denominación abreviada se haya popularizado. De esta manera se reconoce explícitamente que el sistema no es sólo el núcleo, sino muchas otra piezas de software que se escribieron con anterioridad sin las que hubiera sido imposible tener algo funcional e incluso construirlo.

En 1996 vería la luz el kernel 2.0.0 ya asociado con la mascota del pingüino (llamada Tux). En la actualidad el kernel Linux (http://www.linux.org) va por la versión 2.6.30, está disponible para un gran variedad de arquitecturas y goza de un gran prestigio en la comunidad informática como fiable, sólido y seguro.



El número de versión asociado al núcleo tiene un sentido muy particular ya que está ligado a su desarrollo. En cada momento tenemos siempre dos versiones del núcleo: versión de producción y versión de desarrollo.
La versión de producción es la versión estable en el momento. Esta versión es la que se debería utilizar para un uso normal del sistema. Por su parte la versión de desarrollo es experimental y es la que usan los programadores para crear y verificar nuevas características. Estos núcleos sueles ser inestables y no deberían ser usadas en equipos en producción.

Las versiones del kernel se numeran con 3 cifras de la siguiente manera: XX.YY.ZZ, donde:

  • XX: indica la serie principal del kernel. Hasta el momento sólo existe la serie 2. Este número cambia cuando la manera de funcionamiento del kernel ha sufrido una modificación importante.
  • YY: Indica si la versión es de desarrollo o producción. Un número impar indica que es de desarrollo, uno par, que es de producción.
  • ZZ: Indica revisiones menores dentro de una versión en las que se han corregido fallos de programación.

Ejemplo: 2.4.0. Kernel de la serie 2 (XX=2), versión de producción 4 ( YY=4 ya que es par), primera versión del 2.4 (ZZ=0)

Ejemplo: 2.6.17. Kernel de la serie 2, versión 6, en la que se han corregidos errores de programación de la versión 2.6.0

El kernel incluyendo su código fuente se puede conseguir en http://www.kernel.org (The Linux Kernel Archives).