Op 25 augustus 1991, na vijf maanden ontwikkeling, kondigde de 21-jarige student Linus Torvalds aan op het newsforum comp.os.minix dat hij een werkprototype had gemaakt van een nieuw besturingssysteem, Linux, waarbij het porteren van bash 1.08 en gcc 1.40 was voltooid. De eerste openbare release van de Linux-kernel werd gepresenteerd op 17 september. Kernel 0.0.1 had een gecomprimeerde grootte van 62 KB en bevatte ongeveer 10.000 regels broncode. De moderne Linux-kernel bestaat uit ongeveer 41 miljoen regels code.
De Linux-kernel werd geïnspireerd door het besturingssysteem MINIX, dat Linus niet beviel door de beperkende licentie. Later, toen Linux een bekend project werd, probeerden tegenstanders Linus te beschuldigen van directe kopieerpraktijken van sommige subsystemen van MINIX. Andrew Tanenbaum, de auteur van MINIX, weerlegde deze aanvallen door een van zijn studenten een gedetailleerde vergelijking van de code van Minix en de eerste publieke versies van Linux te laten uitvoeren. De resultaten van het onderzoek toonden alleen vier onbeduidende overeenkomsten in blokken code, die voortkwamen uit eisen van POSIX en ANSI C.
Aanvankelijk had Linus het idee om de kernel Freax te noemen, een combinatie van de woorden 'free', 'freak' en X (Unix). Maar de naam 'Linux' werd aan de kernel gegeven door Ari Lemmke, die op verzoek van Linus de kernel op de FTP-server van de universiteit plaatste en de directory waar het archief stond niet 'freax' noemde, zoals Torvalds had gevraagd, maar 'linux'. Het is opmerkelijk dat de ondernemende zakenman William Della Croce erin slaagde het handelsmerk Linux te registreren en in de toekomst licentiekosten wilde innen, maar later van gedachten veranderde en alle rechten op het handelsmerk aan Linus overdroeg. Het officiële mascotte van de Linux-kernel, de pinguïn Tux, werd gekozen na een wedstrijd in 1996. De naam Tux staat voor Torvalds UniX.
De groei van de codebase (aantal regels broncode) van de kernel:
- 0.0.1 — september 1991, 10.000 regels code;
- 1.0.0 — maart 1994, 176.000 regels code;
- 1.2.0 — maart 1995, 311.000 regels code;
- 2.0.0 — juni 1996, 778.000 regels code;
- 2.2.0 — januari 1999, 1,8 miljoen regels code;
- 2.4.0 — januari 2001, 3,4 miljoen regels code;
- 2.6.0 — december 2003, 5,9 miljoen regels code;
- 2.6.28 — december 2008, 10,2 miljoen regels code;
- 2.6.35 — augustus 2010, 13,4 miljoen regels code;
- 3.0 — augustus 2011, 14,6 miljoen regels code;
- 3.5 — juli 2012, 15,5 miljoen regels code;
- 3.10 — juli 2013, 15,8 miljoen regels code;
- 3.16 — augustus 2014, 17,5 miljoen regels code;
- 4.1 — juni 2015, 19,5 miljoen regels code;
- 4.7 — juli 2016, 21,7 miljoen regels code;
- 4.12 — juli 2017, 24,1 miljoen regels code;
- 4.18 — augustus 2018, 25,3 miljoen regels code;
- 5.2 — juli 2019, 26,55 miljoen regels code;
- 5.8 — augustus 2020, 28,4 miljoen regels code;
- 5.13 — juni 2021, 29,2 miljoen regels code;
- 5.19 — augustus 2022, 30,5 miljoen regels code;
- 6.4 — juni 2023, 32,9 miljoen regels code.
- 6.10 — juli 2024, 35,1 miljoen regels code.
- 6.16 — juli 2025, 40,8 miljoen regels code.
Vooruitgang in de ontwikkeling van de kernel:
- Linux 0.0.1 — september 1991, eerste publieke release, ondersteunt alleen CPU i386 en boot vanaf diskettes;
- Linux 0.12 — januari 1992, code begon te worden verspreid onder GPLv2-licentie;
- Linux 0.95 — maart 1992, mogelijkheid om X Window System te draaien, ondersteuning voor virtueel geheugen en swappartitie geïmplementeerd.
- Linux 0.96-0.99 — 1992-1993, werk aan de netwerkstack is begonnen. Geintroduceerd bestandssysteem Ext2, ondersteuning voor het ELF-bestandsformaat toegevoegd, stuurprogramma's voor geluidskaarten en SCSI-controllers gepresenteerd, ondersteuning voor het laden van kernelmodules en het bestandssysteem /proc geïmplementeerd.
- In 1992 verschenen de eerste distributies SLS en Yggdrasil. In de zomer van 1993 werden de projecten Slackware en Debian opgericht.
- Linux 1.0 — maart 1994, eerste officieel stabiele release;
- Linux 1.2 — maart 1995, aanzienlijke toename van het aantal stuurprogramma's, ondersteuning voor de platforms Alpha, MIPS en SPARC, uitbreiding van de netwerkstack-functies, introductie van de pakketfilter, ondersteuning voor NFS;
- Linux 2.0 — juni 1996, ondersteuning voor multiprocessorsystemen;
- Maart 1997: oprichting van LKML, de mailinglijst van Linux-kernelontwikkelaars;
- 1998: de eerste Linux-gebaseerde cluster belandde op de Top500-lijst, bestaande uit 68 knooppunten met CPU Alpha;
- Linux 2.2 - januari 1999, verbeterde efficiëntie van het geheugensysteem, toegevoegd ondersteuning voor IPv6, een nieuwe firewall geïmplementeerd, een nieuw geluids-subsystem gepresenteerd;
- Linux 2.4 — februari 2001, ondersteuning voor 8-processorsystemen en 64 GB RAM, bestandssysteem Ext3, ondersteuning voor USB, ACPI;
- Linux 2.6 — december 2003, ondersteuning voor SELinux, automatische afstelinstrumenten voor kernparameters, sysfs, herwerkte geheugenbeheersystemen;
- In 2005 werd hypervisor Xen geïntroduceerd, wat het tijdperk van virtualisatie opende;
- In september 2008 werd de eerste release van het Android-platform vormgegeven, gebaseerd op de Linux-kernel;
- In juli 2011, na 10 jaar ontwikkeling van de 2.6.x serie, werd de overgang naar nummering 3.x gemaakt. Het aantal objecten in de Git-repository bereikte 2 miljoen;
- In 2015, the Linux kernel 4.0 was released. The number of git objects in the repository reached 4 million;
- In April 2018, the milestone of 6 million git objects in the kernel repository was surpassed.
- In January 2019, the Linux kernel 5.0 branch was formed. The repository reached 6.5 million git objects.
- The kernel 5.8 published in August 2020 became the largest in terms of changes compared to all previous kernels in the project's history.
- The kernel 5.13 set a record with the number of developers (2150), whose contributions were included in the kernel.
- In August 2022, the Linux kernel 6.0 branch was formed, as there were enough releases in the 5.x branch to change the first number in the versioning.
- The kernel 6.1, released in December 2022, added support for using Rust as a secondary language for developing drivers and kernel modules.
- In February 2025, the mark of 40 million lines of source code was reached.
Ongeveer 65% van alle wijzigingen in de kernel is aangebracht door 20 van de meest actieve bedrijven. Bijvoorbeeld, bij de ontwikkeling van kernel 6.16 was 11.3% van alle wijzigingen (tegenover 15.3% vorig jaar in kernel 6.10) voorbereid door Intel, 7.6% (6.9%) door Red Hat, 6.3% (7.4%) door Google, 5.6% (6.3%) door Linaro, 5.4% (4.6%) door AMD, 3.6% (1.9%) door Qualcomm, 3.0% (2.5%) door SUSE, 2.9% (3.2%) door Meta, 2.6% (3.3%) door Oracle, 2.4% (2.3%) door Huawei, 2.4% (1.5%) door NVIDIA, 2.3% (1.2%) door ARM, 1.4% (2.4%) door IBM. 15.3% (11.9%) van de wijzigingen zijn aangebracht door onafhankelijke deelnemers of ontwikkelaars die niet expliciet over hun werk voor bepaalde bedrijven hebben verklaard. Wat betreft het aantal toegevoegde regels code in kernel 6.16 liggen de bedrijven Intel, Red Hat en Google vooraan, met een aandeel van respectievelijk 9.2%, 7.2% en 6.9% (in kernel 6.10 waren dit Intel, Linaro en Red Hat met aandelen van 13.6%, 13.3% en 7.2%).
Bron: opennet.ru
