25 августа 1991 года после пяти месяцев разработки 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux, для которой было отмечено завершение портирования bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало примерно 10 тысяч строк исходного кода. Современное ядро Linux насчитывает около 44 млн строк кода.
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 Zeilen Code;
- 5.8 – August 2020, 28,4 Millionen Zeilen Code;
- 5.13 – Juni 2021, 29,2 Millionen Zeilen Code;
- 5.19 – August 2022, 30,5 Millionen Zeilen Code;
- 6.4 – Juni 2023, 32,9 Millionen Zeilen Code.
- 6.10 – Juli 2024, 35,1 Millionen Zeilen Code.
- 6.16 — Juli 2025, 40,8 Millionen Zeilen Code.
- 7.2 — август 2026, 43.9 млн. строк кода.
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 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.
- Im Kernel 6.1, veröffentlicht im Dezember 2022, wurde die Möglichkeit hinzugefügt, die Programmiersprache Rust als zweite Sprache für die Entwicklung von Treibern und Kernelmodulen zu verwenden.
- Im Februar 2025 wurde die Marke von 40 Millionen Zeilen Quellcode erreicht.
- Поддержка Rust переведена из экспериментальных в основные возможности ядра Linux.
- В 2026 году отмечено продвижение использования AI-инструментов для отладки, рецензирования изменений, выявления ошибок и разработки исправлений в ядре. Среди прочего, AI начал применять Линус Торвальдс, например, на днях для выявления причин проблем в драйвере Intel Xe.
Около 65% всех изменений в ядро внесены 20 наиболее активными компаниями. Например, при разработке ядра 7.1 из всех изменений 9.1% (год назад в ядре 6.16 было 11.3%) подготовлено компанией Intel, 7.7% (6.3%) — Google, 5.2% (5.4%) — AMD, 5.0% (3.6%) — Qualcomm, 4.7% (7.6%) — Red Hat, 3.8% (2.4%) — NVIDIA, 3.4% (2.9%) — Meta, 2.9% (3.0%) — SUSE, 2.5% (2.9%) — Oracle, 2.1% (2.3%) — ARM, 1.4% (1.4%) — IBM, 1.3% (2.4%) — Huawei. 18% (15.3%) изменений подготовлены независимым участниками или разработчиками, явно не заявившим о своей работе на определённые компании. По числу добавленных в ядро 7.1 строк кода лидируют компании Meta, AMD и Qualcomm, доля которых составила 15.8%, 13.8% и 7.6% (в ядре 6.16 лидировали Intel, Red Hat и Google, доля которых составила 9.2%, 7.2% и 6.9%).
Quelle: opennet.ru
