El kernel de Linux cumple 30 años

El 25 de agosto de 1991, después de cinco meses de desarrollo, el estudiante de 21 años Linus Torvalds anunció en el grupo de noticias comp.os.minix la creación de un prototipo funcional de un nuevo sistema operativo Linux, para lo cual se completaron los ports de bash. Se anotó 1.08 y gcc 1.40. El primer lanzamiento público del kernel de Linux se anunció el 17 de septiembre. El kernel 0.0.1 tenía un tamaño de 62 KB en forma comprimida y contenía alrededor de 10 mil líneas de código fuente. El kernel de Linux moderno tiene más de 28 millones de líneas de código. Según un estudio de 2010 encargado por la Unión Europea, el coste aproximado de desarrollar desde cero un proyecto similar al kernel de Linux moderno sería de más de mil millones de dólares estadounidenses (el cálculo se hizo cuando el kernel tenía 13 millones de líneas de código), según otras estimaciones, más de 3 mil millones

El kernel de Linux se inspiró en el sistema operativo MINIX, que a Linus no le gustó debido a su licencia limitada. Posteriormente, cuando Linux se convirtió en un proyecto muy conocido, los malvados intentaron acusar a Linus de copiar directamente el código de algunos subsistemas MINIX. El ataque fue repelido por Andrew Tanenbaum, el autor de MINIX, quien encargó a uno de sus alumnos realizar una comparación detallada del código Minix y las primeras versiones públicas de Linux. Los resultados del estudio mostraron la presencia de sólo cuatro coincidencias insignificantes de bloques de código debido a los requisitos POSIX y ANSI C.

Linus originalmente pensó en llamar al núcleo Freax, de las palabras "free", "freak" y X (Unix). Pero el nombre "Linux" se le dio al kernel gracias a Ari Lemmke, quien, a pedido de Linus, publicó el kernel en el servidor FTP de la universidad, nombrando el directorio con el archivo no "freax", como solicitó Torvalds, sino "linux". " Cabe destacar que el emprendedor empresario William Della Croce logró registrar la marca Linux y quiso cobrar regalías con el tiempo, pero luego cambió de opinión y transfirió todos los derechos de la marca a Linus. La mascota oficial del kernel Linux, el pingüino Tux, fue elegida como resultado de un concurso celebrado en 1996. El nombre Tux significa Torvalds UniX.

Dinámica de crecimiento de la base del código del kernel (número de líneas de código fuente):

  • 0.0.1 - Septiembre de 1991, 10 mil líneas de código;
  • 1.0.0 - marzo de 1994, 176 mil líneas de código;
  • 1.2.0 - marzo de 1995, 311 mil líneas de código;
  • 2.0.0 - junio de 1996, 778 mil líneas de código;
  • 2.2.0 - enero de 1999, 1.8 millones de líneas de código;
  • 2.4.0 - enero de 2001, 3.4 millones de líneas de código;
  • 2.6.0 - diciembre de 2003, 5.9 millones de líneas de código;
  • 2.6.28 - diciembre de 2008, 10.2 millones de líneas de código;
  • 2.6.35 - Agosto de 2010, 13.4 millones de líneas de código;
  • 3.0 - Agosto de 2011, 14.6 millones de líneas de código.
  • 3.5 - julio de 2012, 15.5 millones de líneas de código.
  • 3.10 - julio de 2013, 15.8 millones de líneas de código;
  • 3.16 - Agosto de 2014, 17.5 millones de líneas de código;
  • 4.1 - junio de 2015, 19.5 millones de líneas de código;
  • 4.7 - julio de 2016, 21.7 millones de líneas de código;
  • 4.12 - julio de 2017, 24.1 millones de líneas de código;
  • 4.18 - Agosto de 2018, 25.3 millones de líneas de código.
  • 5.2 - julio de 2019, 26.55 millones de líneas de código.
  • 5.8 - Agosto de 2020, 28.4 millones de líneas de código.
  • 5.13 - junio de 2021, 29.2 millones de líneas de código.

Progreso del desarrollo del kernel:

  • Linux 0.0.1: septiembre de 1991, la primera versión pública, que admite únicamente la CPU i386 y arranca desde un disquete;
  • Linux 0.12 - enero de 1992, el código comenzó a distribuirse bajo la licencia GPLv2;
  • Linux 0.95 - marzo de 1992, se proporciona la capacidad de ejecutar el sistema X Window, se implementa soporte para memoria virtual y partición de intercambio.
  • Linux 0.96-0.99 - 1992-1993, se comenzó a trabajar en la pila de red. Se introdujo el sistema de archivos Ext2, se agregó soporte para el formato de archivo ELF, se introdujeron controladores para tarjetas de sonido y controladores SCSI, se implementó la carga de módulos del kernel y el sistema de archivos /proc.
  • En 1992 aparecieron las primeras distribuciones SLS e Yggdrasil. En el verano de 1993 se fundaron los proyectos Slackware y Debian.
  • Linux 1.0: marzo de 1994, la primera versión oficialmente estable;
  • Linux 1.2 - marzo de 1995, un aumento significativo en la cantidad de controladores, soporte para las plataformas Alpha, MIPS y SPARC, capacidades ampliadas de la pila de red, la aparición de un filtro de paquetes, soporte NFS;
  • Linux 2.0 - junio de 1996, soporte para sistemas multiprocesador;
  • Marzo de 1997: Se funda LKML, lista de correo de desarrolladores del kernel de Linux;
  • 1998: Se lanza el primer cluster basado en Linux incluido en la lista Top500, compuesto por 68 nodos con una CPU Alpha;
  • Linux 2.2 - enero de 1999, se aumentó la eficiencia del sistema de administración de memoria, se agregó soporte para IPv6, se implementó un nuevo firewall, se introdujo un nuevo subsistema de sonido;
  • Linux 2.4 - febrero de 2001, brinda soporte para sistemas de 8 procesadores y 64 GB de RAM, sistema de archivos Ext3, soporte USB, ACPI;
  • Linux 2.6 - Diciembre de 2003, soporte SELinux, ajuste automático de parámetros del kernel, sysfs, sistema de administración de memoria rediseñado;
  • En 2005, se introdujo el hipervisor Xen, que marcó el comienzo de la era de la virtualización;
  • En septiembre de 2008, se creó 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. La cantidad de objetos en el repositorio de Git ha alcanzado los 2 millones;
  • En 2015, se lanzó el kernel de Linux 4.0. La cantidad de objetos git en el repositorio ha alcanzado los 4 millones;
  • En abril de 2018, se superó el hito de 6 millones de objetos git en el repositorio del kernel.
  • En enero de 2019, se formó la rama del kernel Linux 5.0. El repositorio ha alcanzado los 6.5 millones de objetos git.
  • El kernel 2020, lanzado en agosto de 5.8, se convirtió en el más grande en términos de número de cambios de todos los kernels durante toda la existencia del proyecto.
  • El kernel 5.13 estableció un récord en cuanto al número de desarrolladores (2150) cuyos cambios se incluyeron en el kernel.
  • En 2021, se agregó código para desarrollar controladores en el lenguaje Rust a la siguiente rama del kernel de Linux. Se está trabajando para incluir componentes que admitan Rust en el núcleo central.

El 68% de todos los cambios en el núcleo fueron realizados por las 20 empresas más activas. Por ejemplo, al desarrollar el kernel 5.13, el 10% de todos los cambios fueron preparados por Intel, el 6.5% por Huawei, el 5.9% por Red Hat, el 5.7% por Linaro, el 4.9% por Google, el 4.8% por AMD, el 3.1% por NVIDIA, el 2.8 % por Facebook, 2.3% - SUSE, 2.1% - IBM, 1.9% - Oracle, 1.5% - ARM, 1.4% - Canonical. El 13.2% de los cambios fueron elaborados por colaboradores o desarrolladores independientes que no declararon explícitamente que trabajaban para determinadas empresas. El 1.3% de los cambios fueron elaborados por estudiantes, estudiantes de posgrado y representantes de instituciones educativas. En términos de la cantidad de 5.13 líneas de código agregadas al kernel, el líder es AMD, cuya participación fue del 20.2% (el controlador amdgpu tiene alrededor de 3 millones de líneas de código, que es aproximadamente el 10% del tamaño total del kernel: 2.4 millones Las líneas se contabilizan mediante archivos de encabezado generados automáticamente con datos para los registros de GPU).

Fuente: opennet.ru

Añadir un comentario