The Linux kernel is 29 years old

August 25, 1991 after five months of development, 21-year-old student Linus Torvalds объявил in the comp.os.minix newsgroup about the creation of a working prototype of the new Linux operating system, for which bash 1.08 and gcc 1.40 were ported to completion. The first public release of the Linux kernel was introduced on September 17th. Core 0.0.1 was 62 KB compressed and contained about 10 lines of source code. The modern Linux kernel has over 26 million lines of code. According to a study commissioned by the European Union in 2010, the approximate cost of developing from scratch a project similar to the modern Linux kernel would be over a billion US dollars (the calculation was made when the kernel had 13 million lines of code), according to other estimates - over 3 billion.

The Linux kernel was inspired by the MINIX operating system, which did not suit Linus with its limited license. Subsequently, when Linux became a well-known project, detractors tried to accuse Linus of directly copying the code of some MINIX subsystems. The attack was repelled by Andrew Tanenbaum, the author of MINIX, who commissioned a student to make a detailed comparison between the Minix code and the first public releases of Linux. The results studies have shown only four non-essential code block matches due to POSIX and ANSI C requirements.

Linus originally thought of naming the kernel Freax, from the words "free", "freak" and X (Unix). But the name β€œLinux” was given to the kernel by Ari Lemmke, who, at the request of Linus, placed the kernel on FTP server University, naming the directory with the archive not "freax", as Torvalds asked, but "linux". It is noteworthy that the enterprising businessman William Della Croce (William Della Croce) managed to register the Linux trademark and wanted to collect royalties over time, but later changed his mind and transferred all rights to the trademark to Linus. The official mascot of the Linux kernel, Tux the penguin, was chosen as a result competitionheld in 1996. The name Tux stands for Torvalds UniX.

Growth dynamics of the codebase (number of lines of source code) of the kernel:

  • 0.0.1 - September 1991, 10 thousand lines of code;
  • 1.0.0 - March 1994, 176 thousand lines of code;
  • 1.2.0 - March 1995, 311 thousand lines of code;
  • 2.0.0 - June 1996, 778 thousand lines of code;
  • 2.2.0 - January 1999, 1.8 million lines of code;
  • 2.4.0 - January 2001, 3.4 million lines of code;
  • 2.6.0 - December 2003, 5.9 million lines of code;
  • 2.6.28 - December 2008, 10.2 million lines of code;
  • 2.6.35 - August 2010, 13.4 million lines of code;
  • 3.0 - August 2011, 14.6 million lines of code.
  • 3.5 - July 2012, 15.5 million lines of code.
  • 3.10 - July 2013, 15.8 million lines of code;
  • 3.16 - August 2014, 17.5 million lines of code;
  • 4.1 - June 2015, 19.5 million lines of code;
  • 4.7 - July 2016, 21.7 million lines of code;
  • 4.12 - July 2017, 24.1 million lines of code;
  • 4.18 - August 2018, 25.3 million lines of code.
  • 5.2 - July 2019, 26.55 million lines of code.
  • 5.8 - August 2020, 28.36 million lines of code.

Core Development Progress:

  • Linux 0.0.1 - September 1991, first public release supporting i386 CPU only and booting from floppy;
  • Linux 0.12 - January 1992, the code began to be distributed under the GPLv2 license;
  • Linux 0.95 - March 1992, added the ability to run the X Window System, implemented support for virtual memory and a swap partition.
  • Linux 0.96-0.99 - 1992-1993, work began on the networking stack. The Ext2 file system was introduced, support for the ELF file format was added, drivers for sound cards and SCSI controllers were introduced, loading of kernel modules and the /proc file system was implemented.
  • In 1992, the first distributions of SLS and Yggdrasil appeared. In the summer of 1993, the Slackware and Debian projects were founded.
  • Linux 1.0 - March 1994, first officially stable release;
  • Linux 1.2 - March 1995, a significant increase in the number of drivers, support for the Alpha, MIPS and SPARC platforms, expanded network stack capabilities, the appearance of a packet filter, NFS support;
  • Linux 2.0 - June 1996, support for multiprocessor systems;
  • March 1997: LKML, Linux kernel developer mailing list founded;
  • 1998: Launched the first Top500 Linux-based cluster, consisting of 68 nodes with Alpha CPUs;
  • Linux 2.2 - January 1999, improved efficiency of the memory management system, added support for IPv6, implemented a new firewall, introduced a new sound subsystem;
  • Linux 2.4 - February 2001, support for 8-processor systems and 64 GB of RAM, Ext3 file system, USB support, ACPI;
  • Linux 2.6 - December 2003, SELinux support, automatic kernel parameter tuning tools, sysfs, redesigned memory management system;
  • In 2005, the Xen hypervisor was introduced, which ushered in the era of virtualization;
  • In September 2008, the first release of the Android platform based on the Linux kernel was formed;
  • In July 2011, after 10 years of development of the 2.6.x branch implemented transition to numbering 3.x. The number of objects in the Git repository has reached 2 million;
  • In 2015 year took place Linux kernel 4.0 release. The number of git objects in the repository has reached 4 million;
  • Π’ Π°ΠΏΡ€Π΅Π»Π΅ 2018 Π³ΠΎΠ΄Π° overcome milestone of 6 million git objects in the core repository.
  • In January 2019, a core branch was formed Linux 5.0. The repository has reached the level of 6.5 million git objects.
  • Published in August 2020 kernel 5.8 was the largest in terms of the number of changes of all cores for the entire life of the project.

Source: opennet.ru

Add a comment