Am 25. August 1991, nach fĂŒnf Monaten Entwicklung, kĂŒndigte der 21-jĂ€hrige Student Linus Torvalds in der Newsgroup comp.os.minix die Schaffung eines funktionalen Prototyps des neuen Betriebssystems Linux an. Zu diesem Zeitpunkt wurde das Portieren von bash 1.08 und gcc 1.40 als abgeschlossen betrachtet. Die erste öffentliche Version des Linux-Kernels wurde am 17. September vorgestellt. Der Kernel 0.0.1 hatte eine komprimierte GröĂe von 62 kB und enthielt etwa 10.000 Zeilen Quellcode. Der heutige Linux-Kernel umfasst mehr als 30 Millionen Zeilen Code. Laut einer Studie, die 2010 im Auftrag der EuropĂ€ischen Union durchgefĂŒhrt wurde, wĂŒrde die geschĂ€tzte Kosten fĂŒr die Entwicklung eines Projekts, das dem modernen Linux-Kernel entspricht, ĂŒber eine Milliarde US-Dollar betragen (dieser SchĂ€tzung lag zugrunde, dass der Kernel 13 Millionen Zeilen Code umfasste); anderen SchĂ€tzungen zufolge wĂ€ren es ĂŒber 3 Milliarden.
Der Linux-Kernel wurde inspiriert von dem Betriebssystem MINIX, das Linus aufgrund seiner eingeschrĂ€nkten Lizenz nicht zufriedenstellte. SpĂ€ter, als Linux zu einem bekannten Projekt wurde, versuchten Kritiker, Linus des direkten Kopierens von Code einiger MINIX-Subsysteme zu beschuldigen. Diese Angriffe wies Andrew Tanenbaum, der Autor von MINIX, zurĂŒck und beauftragte einen seiner Studenten, eine detaillierte Vergleichsanalyse zwischen dem Code von MINIX und den ersten öffentlichen Versionen von Linux durchzufĂŒhren. Die Ergebnisse der Studie zeigten nur vier unwesentliche Ăbereinstimmungen von Codeblöcken, die auf die Anforderungen von POSIX und ANSI C zurĂŒckzufĂŒhren waren.
UrsprĂŒnglich wollte Linus den Kernel Freax nennen, abgeleitet von den Worten âfreeâ, âfreakâ und X (Unix). Der Name âLinuxâ wurde dem Kernel jedoch auf Anregung von Ari Lemmke gegeben, der auf Bitten von Linus den Kernel auf dem FTP-Server der UniversitĂ€t bereitstellte und das Verzeichnis mit dem Archiv nicht âfreaxâ, wie es Torvalds gewĂŒnscht hatte, sondern âlinuxâ nannte. Bemerkenswert ist, dass der unternehmungslustige William Della Croce es schaffte, die Marke Linux zu registrieren und im Laufe der Zeit GebĂŒhren zu erheben, aber spĂ€ter seine Meinung Ă€nderte und alle Markenrechte an Linus ĂŒbergab. Das offizielle Maskottchen des Linux-Kernels, der Pinguin Tux, wurde in einem Wettbewerb im Jahr 1996 ausgewĂ€hlt. Tux steht fĂŒr Torvalds UniX.
Die Dynamik des Wachstums der Codebasis (Anzahl der Quellcodezeilen) des Kernels:
- 0.0.1 â September 1991, 10.000 Zeilen Code;
- 1.0.0 â MĂ€rz 1994, 176.000 Zeilen Code;
- 1.2.0 â MĂ€rz 1995, 311.000 Zeilen Code;
- 2.0.0 â Juni 1996, 778.000 Zeilen Code;
- 2.2.0 â Januar 1999, 1,8 Millionen Zeilen Code;
- 2.4.0 â Januar 2001, 3,4 Millionen Zeilen Code;
- 2.6.0 â Dezember 2003, 5,9 Millionen Zeilen Code;
- 2.6.28 â Dezember 2008, 10,2 Millionen Zeilen Code;
- 2.6.35 â August 2010, 13,4 Millionen Zeilen Code;
- 3.0 â August 2011, 14,6 Millionen Zeilen Code.
- 3.5 â Juli 2012, 15,5 Millionen Zeilen Code.
- 3.10 â Juli 2013, 15,8 Millionen Zeilen Code;
- 3.16 â August 2014, 17,5 Millionen Zeilen Code;
- 4.1 â Juni 2015, 19,5 Millionen Zeilen Code;
- 4.7 â Juli 2016, 21,7 Millionen Zeilen Code;
- 4.12 â Juli 2017, 24,1 Millionen Zeilen Code;
- 4.18 â August 2018, 25,3 Millionen Zeilen Code.
- 5.2 â Juli 2019, 26,55 Millionen Codezeilen.
- 5.8 â August 2020, 28,4 Millionen Codezeilen.
- 5.13 â Juni 2021, 29,2 Millionen Codezeilen.
- 5.19 â August 2022, 30,5 Millionen Codezeilen.
Fortschritt der Kernel-Entwicklung:
- Linux 0.0.1 â September 1991, erste öffentliche Version, die nur CPU i386 unterstĂŒtzt und von Disketten bootet;
- Linux 0.12 â Januar 1992, der Code wurde unter der GPLv2-Lizenz veröffentlicht;
- Linux 0.95 â MĂ€rz 1992, UnterstĂŒtzung fĂŒr den Start des X Window Systems, Implementierung der UnterstĂŒtzung fĂŒr virtuellen Speicher und Auslagerungsdateien.
- Linux 0.96-0.99 â 1992-1993, Beginn der Arbeit am Netzwerk-Stack. EinfĂŒhrung des Ext2-Dateisystems, UnterstĂŒtzung des ELF-Dateiformats, Bereitstellung von Treibern fĂŒr Soundkarten und SCSI-Controller, Implementierung des Ladens von Kernelmodulen und des Dateisystems /proc.
- 1992 erschienen die ersten Distributionen SLS und Yggdrasil. Im Sommer 1993 wurden die Projekte Slackware und Debian gegrĂŒndet.
- Linux 1.0 â MĂ€rz 1994, erste offiziell stabile Version;
- Linux 1.2 â MĂ€rz 1995, signifikante Erhöhung der Anzahl der Treiber, UnterstĂŒtzung fĂŒr die Plattformen Alpha, MIPS und SPARC, Erweiterung der Möglichkeiten des Netzwerk-Stacks, EinfĂŒhrung von Paketfiltern, UnterstĂŒtzung fĂŒr NFS;
- Linux 2.0 â Juni 1996, UnterstĂŒtzung fĂŒr Multiprozessorsysteme;
- MĂ€rz 1997: GrĂŒndung der LKML, Mailingliste der Linux-Kernel-Entwickler;
- 1998: Der erste in die Liste der Top500 aufgenommene Cluster auf der Basis von Linux wurde gestartet, bestehend aus 68 Knoten mit Alpha-CPU;
- Linux 2.2 â Januar 1999, EffektivitĂ€t des Speichermanagements erhöht, hinzugefĂŒgt IPv6-UnterstĂŒtzung, ein neuer Firewall implementiert, ein neues Audiosubsystem vorgestellt;
- Linux 2.4 â Februar 2001, UnterstĂŒtzung fĂŒr 8-Prozessor-Systeme und 64 GB RAM, Ext3-Dateisystem, USB-UnterstĂŒtzung, ACPI;
- Linux 2.6 â Dezember 2003, UnterstĂŒtzung fĂŒr SELinux, Tools zur automatischen Anpassung der Kernelparameter, sysfs, ĂŒberarbeitetes Speichermanagement;
- Im Jahr 2005 wurde der Hypervisor Xen vorgestellt, der das Zeitalter der Virtualisierung einlÀutete;
- Im September 2008 wurde die erste Version der auf dem Linux-Kernel basierenden Plattform Android veröffentlicht;
- Im Juli 2011, nach 10 Jahren Entwicklung der 2.6.x-Serie, wurde auf die Nummerierung 3.x umgestellt. Die Anzahl der Objekte im Git-Repository erreichte 2 Millionen;
- Im Jahr 2015 wurde der Kernel Linux 4.0 veröffentlicht. Die Anzahl der Git-Objekte im Repository erreichte 4 Millionen.
- Im April 2018 wurde die Marke von 6 Millionen Git-Objekten im Repository des Kernels ĂŒberschritten.
- Im Januar 2019 wurde der Kernel Linux 5.0 branchiert. Das Repository erreichte 6,5 Millionen Git-Objekte.
- Der im August 2020 veröffentlichte Kernel 5.8 war der gröĂte in Bezug auf die Anzahl der Ănderungen seit Bestehen des Projekts.
- Im Kernel 5.13 wurde ein Rekord von 2150 Entwicklern aufgestellt, deren Ănderungen in den Kernel eingeflossen sind.
- Im Jahr 2021 wurde in den Linux-next-Zweig Code fĂŒr die Entwicklung von Treibern in der Programmiersprache Rust hinzugefĂŒgt. Es wird an der Einbindung von Komponenten zur UnterstĂŒtzung von Rust in den Hauptkernel gearbeitet.
- Im August 2022 wurde der Kernel-Zweig Linux 6.0 erstellt, da im Zweig 5.x genĂŒgend Releases gesammelt wurden, um die erste Zahl der Versionsnummer zu Ă€ndern.
68 % aller Ănderungen am Kernel wurden von 20 der aktivsten Unternehmen vorgenommen. Beispielsweise wurden bei der Entwicklung des Kernels 5.19 10,9 % aller Ănderungen von Intel, 5,7 % von Linaro, 5,5 % von AMD, 5,2 % von Red Hat, 4,1 % von Google, 3,5 % von Meta, 3,1 % von SUSE, 2,9 % von Huawei, 2,8 % von NVIDIA und 2,7 % von Oracle vorbereitet. 11,8 % der Ănderungen stammen von unabhĂ€ngigen Beteiligten oder Entwicklern, die nicht ausdrĂŒcklich angegeben haben, dass sie fĂŒr bestimmte Unternehmen arbeiten. Bei der Anzahl der in den Kernel 5.19 eingefĂŒgten Codezeilen fĂŒhrt das Unternehmen AMD mit einem Anteil von 37,9 % (der Treiber amdgpu umfasst mehr als 4 Millionen Codezeilen, der GroĂteil davon besteht aus automatisch generierten Header-Dateien mit Daten fĂŒr GPU-Register).
Quelle: opennet.ru
