25 augustus 1991, na vijf maanden ontwikkeling, is de 21-jarige student Linus Torvalds in een teleconferentie op comp.os.minix het idee gepresenteerd van een werkend prototype van een nieuw besturingssysteem, Linux, waarvoor de voltooiing van de poort naar bash 1.08 en gcc 1.40 werd vermeld. De eerste publieke release van de Linux-kernel werd op 17 september gepresenteerd. De kernel had een grootte van 62 kB in gecomprimeerde vorm en bevatte ongeveer 10.000 regels broncode. De moderne Linux-kernel bevat meer dan 26 miljoen regels code. Volgens een onderzoek dat in 2010 in opdracht van de Europese Unie werd uitgevoerd, zou de geschatte kosten van het ontwikkelen van een vergelijkbaar project vanaf nul dollars zijn geweest (de berekening werd gemaakt toen de kernel 13 miljoen regels code bevatte), volgens schattingen - .
De Linux-kernel werd gecreëerd onder invloed van het besturingssysteem MINIX, dat Linus niet beviel vanwege de beperkte licentie. Later, toen Linux een bekend project werd, probeerden tegenstanders Linus te beschuldigen van het rechtstreeks kopiëren van de code van bepaalde subsystemen van MINIX. Andrew Tanenbaum, de auteur van MINIX, weerlegde deze aanval door een van zijn studenten de opdracht te geven een gedetailleerde vergelijking te maken tussen de code van Minix en de eerste publieke versies van Linux. onderzoek heeft aangetoond dat er slechts vier onbeduidende overeenkomsten in de code waren, veroorzaakt door de eisen van POSIX en ANSI C.
Aanvankelijk had Linus de naam Freax bedacht, van de woorden "free", "freak" en X (Unix). Maar de naam "Linux" kreeg het kernsysteem dankzij Ari Lemmke, die op verzoek van Linus de kernel op de universiteitsserver plaatste, en de directory met de archieven niet "freax" noemde, zoals Torvalds had gevraagd, maar "linux". Opmerkelijk is dat de ondernemende zakenman William Della Croce erin slaagde het handelsmerk Linux te registreren en in de toekomst royalty's 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 , die plaatsvond 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.
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 de efficiëntie van het geheugenbeheer, ondersteuning voor IPv6 toegevoegd, nieuwe firewall geïntroduceerd, nieuwe geluidscomputer geïntroduceerd;
- 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 tak, veranderde de nummering naar 3.x. Het aantal objecten in de Git-repository bereikte 2 miljoen;
- In 2015 werd de Linux kernel 4.0 uitgebracht. Het aantal git-objecten in de repository bereikte 4 miljoen;
- In april 2018 de grens van 6 miljoen git-objecten in de kernel repository overschreden.
- In januari 2019 werd de kernel tak gevormd. De repository bereikte 6,5 miljoen git-objecten.
Bron: opennet.ru
