Hoy el Kernel de Linux cumple su 30 aniversario y aun le queda mucho por dar
A principios de mes dimos a conocer la nota del 30 aniversario de la publicación de la primera web, un hecho que sin duda marco la historia y del cual siempre he relacionado un poco con Linux, ya que tanto la publicación de la primera web asi como del primer prototipo del Kernel de Linux van de la mano, ya que ambos fueron dados a conocer en el mismo año.
Ya que un 25 de agosto de 1991, después de cinco meses de desarrollo, el estudiante de 21 años Linus Torvalds anunció en la teleconferencia comp.os.minix que estaba trabajando en un prototipo funcional de un nuevo sistema operativo Linux, para el cual la portabilidad de bash 1.08 y gcc 1.40 se habían completado. Esta primera versión pública del kernel de Linux se lanzó el 17 de septiembre.
El kernel 0.0.1 tenía 62 KB en forma comprimida y contenía alrededor de 10 mil líneas de código fuente que comparación del kernel de hoy en dia de Linux tiene más de 28 millones de líneas de código.
Según un estudio encargado por la Unión Europea en 2010, el costo aproximado de desarrollar desde cero un proyecto similar a un kernel moderno de Linux habría sido de más de mil millones de dólares (calculado cuando el kernel tenía 13 millones de líneas de código), según a otro estimado en más de 3 mil millones.
Un poco sobre Linux
El kernel de Linux se inspiró en el sistema operativo MINIX, que a Linus no le gustó con su licencia limitada. Posteriormente, cuando Linux se convirtió en un proyecto famoso, los malvados intentaron acusar a Linus de copiar directamente el código de algunos subsistemas MINIX.
El ataque fue repelido por el autor de MINIX, Andrew Tanenbaum, quien encargó a un estudiante que hiciera una comparación detallada del código Minix con las primeras versiones públicas de Linux. Los resultados del estudio mostraron la presencia de solo cuatro coincidencias de bloques de código insignificantes debido a los requisitos de POSIX y ANSI C.
Linus originalmente pensó en llamar al kernel Freax, desde free, freak y X (Unix). Pero el kernel recibió el nombre «Linux» con la mano ligera de Ari Lemmke, quien, a pedido de Linus, colocó el kernel en el servidor FTP de la universidad, nombrando el directorio con el archivo no «freax», como Torvalds pidió, sino «linux”.
Es de destacar que el emprendedor empresario William Della Croce logró registrar la marca Linux y quiso cobrar regalías a lo largo del tiempo, pero luego cambió de opinión y transfirió todos los derechos de la marca a Linus. La mascota oficial del kernel de Linux, el pingüino Tux, fue seleccionada a través de un concurso celebrado en 1996. El nombre Tux significa Torvalds UniX.
En cuanto al crecimiento del Kernel durante los últimos 30 años:
- 0.0.1 – septiembre de 1991, 10 mil líneas de codigo
- 1.0.0 – marzo de 1994, 176 mil líneas
- 1.2.0 – marzo de 1995, 311 mil líneas
- 2.0.0 – junio de 1996, 778 mil líneas
- 2.2.0 – enero de 1999, 1,8 millones de líneas
- 2.4.0 – enero de 2001, 3,4 millones de líneas
- 2.6.0 – diciembre de 2003, 5,9 millones de líneas
- 2.6.28 – diciembre de 2008, 10,2 millones de líneas
- 2.6.35 – agosto de 2010, 13,4 millones de líneas
- 3.0 – Agosto de 2011, 14,6 millones de líneas
- 3.5 – julio de 2012, 15,5 millones de líneas
- 3.10 – julio de 2013, 15,8 millones de líneas
- 3.16 – agosto de 2014, 17,5 millones de líneas
- 4.1 – junio de 2015, 19,5 millones de líneas
- 4.7 – julio de 2016, 21,7 millones de líneas
- 4.12 – julio de 2017, 24,1 millones de líneas
- 4.18 – Agosto de 2018, 25,3 millones de líneas
- 5.2 – Julio de 2019, 26,55 millones de líneas
- 5.8 – Agosto de 2020, 28,4 millones de líneas
- 5.13 – junio de 2021, 29,2 millones de líneas
Mientras que por la parte del desarrollo y novedades:
- Septiembre de 1991: Linux 0.0.1, primera versión pública que solo admite la CPU i386 y se inicia desde un disquete.
Enero de 1992: Linux 0.12, el código comenzó a distribuirse bajo la licencia GPLv2 - Marzo de 1992: Linux 0.95, brindó la capacidad de ejecutar el sistema X Window, soporte para memoria virtual e intercambio de particiones, además de que aparecieron las primeras distribuciones SLS e Yggdrasil.
- En el verano de 1993, se fundaron los proyectos Slackware y Debian.
Marzo de 1994: Linux 1.0, primera versión oficialmente estable.
Marzo de 1995: Linux 1.2, aumento significativo en el número de controladores, soporte para plataformas Alpha, MIPS y SPARC, expansión de las capacidades de la pila de red, aparición de un filtro de paquetes, soporte NFS. - Junio de 1996: Linux 2.0, soporte para sistemas multiprocesador.
- Enero de 1999: Linux 2.2, aumento de la eficiencia del sistema de administración de memoria, soporte agregado para IPv6, implementación de un nuevo firewall, introducido un nuevo subsistema de sonido
- Febrero de 2001: Linux 2.4, soporte para sistemas de 8 procesadores y 64 GB de RAM, sistema de archivos Ext3, USB, soporte ACPI.
- Diciembre de 2003: Linux 2.6, soporte SELinux, herramientas de ajuste automático del kernel, sysfs, sistema de administración de memoria rediseñado.
- En septiembre de 2008, se formó la primera versión de la plataforma Android basada en el kernel de Linux.
- En julio de 2011, después de 10 años de desarrollo de la rama 2.6.x , se realizó la transición a la numeración 3.x.
- En 2015, Linux 4.0, el número de objetos git en el repositorio ha alcanzado los 4 millones.
- En abril de 2018, supero la barrera de los 6 millones de objetos git-core en el repositorio.
- En enero de 2019, se formó la rama del kernel de Linux 5.0.
- Publicado en agosto de 2020, el kernel 5.8 fue el más grande en términos de la cantidad de cambios de todos los kernels durante toda la existencia del proyecto.
- En 2021, se agregó código para desarrollar controladores en el lenguaje Rust a la siguiente rama del kernel de Linux.