El kernel de Linux tiene 31 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 30 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.
  • 5.19 - Agosto de 2022, 30.5 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.
  • En agosto de 2022, se formó la rama del kernel Linux 6.0, ya que la rama 5.x había acumulado suficientes lanzamientos para cambiar el primer número en el número de versión.

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.19, el 10.9% de todos los cambios fueron preparados por Intel, el 5.7% por Linaro, el 5.5% por AMD, el 5.2% por Red Hat, el 4.1% por Google, el 3.5% por Meta, el 3.1% por SUSE, el 2.9%. % de Huawei, 2.8% - NVIDIA, 2.7% - Oracle. El 11.8% de los cambios fueron elaborados por colaboradores o desarrolladores independientes que no declararon explícitamente que trabajaban para determinadas empresas. En cuanto al número de 5.19 líneas de código agregadas al kernel, el líder es AMD, cuya participación fue del 37.9% (el controlador amdgpu tiene más de 4 millones de líneas de código, la mayoría de las cuales son archivos de encabezado generados automáticamente con datos para GPU registros).

Fuente: opennet.ru

Añadir un comentario