De Linux-kernel is 31 jaar oud

Op 25 augustus 1991, na vijf maanden ontwikkeling, kondigde de 21-jarige student Linus Torvalds op de comp.os.minix-nieuwsgroep de creatie aan van een werkend prototype van een nieuw Linux-besturingssysteem, waarvoor de voltooiing van ports of bash Er werd 1.08 en gcc 1.40 genoteerd. De eerste publieke release van de Linux-kernel werd op 17 september aangekondigd. Kernel 0.0.1 was in gecomprimeerde vorm 62 KB groot en bevatte ongeveer 10 regels broncode. De moderne Linux-kernel bevat meer dan 30 miljoen regels code. Volgens een onderzoek uit 2010 in opdracht van de Europese Unie zouden de geschatte kosten voor het helemaal opnieuw ontwikkelen van een project vergelijkbaar met de moderne Linux-kernel meer dan een miljard dollar bedragen (de berekening werd gemaakt toen de kernel 13 miljoen regels code had), volgens andere schattingen - meer dan 3 miljard

De Linux-kernel is geïnspireerd op het MINIX-besturingssysteem, wat Linus niet leuk vond vanwege de beperkte licentie. Vervolgens, toen Linux een bekend project werd, probeerden kwaadwillenden Linus ervan te beschuldigen de code van sommige MINIX-subsystemen rechtstreeks te kopiëren. De aanval werd afgeslagen door Andrew Tanenbaum, de auteur van MINIX, die een van zijn studenten de opdracht gaf een gedetailleerde vergelijking uit te voeren van de Minix-code en de eerste openbare versies van Linux. De resultaten van het onderzoek toonden de aanwezigheid aan van slechts vier onbeduidende overeenkomsten van codeblokken vanwege POSIX- en ANSI C-vereisten.

Linus dacht er oorspronkelijk aan om de kernel Freax te noemen, van de woorden "free", "freak" en X (Unix). Maar de naam “Linux” werd aan de kernel gegeven dankzij Ari Lemmke, die op verzoek van Linus de kernel op de FTP-server van de universiteit plaatste, waarbij hij de map met het archief niet “freax” noemde, zoals Torvalds had gevraagd, maar “linux. ” Het is opmerkelijk dat de ondernemende zakenman William Della Croce erin slaagde het Linux-handelsmerk te registreren en in de loop van de tijd royalty's wilde innen, maar later van gedachten veranderde en alle rechten op het handelsmerk aan Linus overdroeg. De officiële mascotte van de Linux-kernel, Tux de pinguïn, werd gekozen als resultaat van een wedstrijd die in 1996 werd gehouden. De naam Tux staat voor Torvalds UniX.

Groeidynamiek van de kernelcodebasis (aantal regels broncode):

  • 0.0.1 - september 1991, 10 regels code;
  • 1.0.0 - maart 1994, 176 duizend regels code;
  • 1.2.0 - maart 1995, 311 duizend regels code;
  • 2.0.0 - juni 1996, 778 duizend 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.

Vooruitgang in de kernontwikkeling:

  • Linux 0.0.1 - september 1991, de eerste publieke release, die alleen de i386 CPU ondersteunt en opstart vanaf een diskette;
  • Linux 0.12 - januari 1992, de code werd verspreid onder de GPLv2-licentie;
  • Linux 0.95 - maart 1992, de mogelijkheid om het X Window-systeem uit te voeren is aanwezig, ondersteuning voor virtueel geheugen en swappartitie is geïmplementeerd.
  • Linux 0.96-0.99 - 1992-1993, het werk aan de netwerkstack begon. Het Ext2-bestandssysteem werd geïntroduceerd, ondersteuning voor het ELF-bestandsformaat werd toegevoegd, stuurprogramma's voor geluidskaarten en SCSI-controllers werden geïntroduceerd, het laden van kernelmodules en het /proc-bestandssysteem werd 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, de eerste officieel stabiele release;
  • Linux 1.2 - maart 1995, een aanzienlijke toename van het aantal stuurprogramma's, ondersteuning voor de Alpha-, MIPS- en SPARC-platforms, uitgebreide mogelijkheden van de netwerkstack, het verschijnen van een pakketfilter, NFS-ondersteuning;
  • Linux 2.0 - juni 1996, ondersteuning voor multiprocessorsystemen;
  • Maart 1997: LKML, mailinglijst voor Linux-kernelontwikkelaars, opgericht;
  • 1998: Het eerste op Linux gebaseerde cluster in de Top500-lijst werd gelanceerd, bestaande uit 68 knooppunten met een Alpha CPU;
  • Linux 2.2 - januari 1999, de efficiëntie van het geheugenbeheersysteem is verhoogd, IPv6-ondersteuning is toegevoegd, een nieuwe firewall is geïmplementeerd en een nieuw geluidssubsysteem is geïntroduceerd;
  • Linux 2.4 - februari 2001 biedt ondersteuning voor systemen met 8 processors en 64 GB RAM, Ext3-bestandssysteem, USB-ondersteuning, ACPI;
  • Linux 2.6 - december 2003, SELinux-ondersteuning, automatisch afstemmen van kernelparameters, sysfs, opnieuw ontworpen geheugenbeheersysteem;
  • In 2005 werd de Xen-hypervisor geïntroduceerd, die het tijdperk van virtualisatie inluidde;
  • In september 2008 werd de eerste release van het Android-platform op basis van de Linux-kernel gevormd;
  • In juli 2011, na 10 jaar ontwikkeling van de 2.6.x-tak, werd de overstap gemaakt naar 3.x-nummering. Het aantal objecten in de Git-repository heeft de 2 miljoen bereikt;
  • In 2015 werd de Linux-kernel 4.0 uitgebracht. Het aantal git-objecten in de repository heeft de 4 miljoen bereikt;
  • In april 2018 werd de mijlpaal van 6 miljoen git-objecten in de kernelrepository overschreden.
  • In januari 2019 werd de Linux 5.0-kerneltak gevormd. De repository heeft 6.5 miljoen git-objecten bereikt.
  • Kernel 2020, gepubliceerd in augustus 5.8, werd de grootste in termen van het aantal wijzigingen van alle kernels gedurende het gehele bestaan ​​van het project.
  • Kernel 5.13 vestigde een record voor het aantal ontwikkelaars (2150), wier wijzigingen in de kernel waren opgenomen.
  • In 2021 werd code voor het ontwikkelen van stuurprogramma's in de Rust-taal toegevoegd aan de Linux-next kerneltak. Er wordt gewerkt aan het opnemen van componenten ter ondersteuning van Rust in de kernkernel.
  • In augustus 2022 werd de kerneltak Linux 6.0 gevormd, aangezien de tak 5.x voldoende releases had verzameld om het eerste nummer in het versienummer te wijzigen.

68% van alle veranderingen in de kern werden aangebracht door de 20 meest actieve bedrijven. Bij de ontwikkeling van kernel 5.19 werd bijvoorbeeld 10.9% van alle wijzigingen voorbereid door Intel, 5.7% door Linaro, 5.5% door AMD, 5.2% door Red Hat, 4.1% door Google, 3.5% door Meta, 3.1% door SUSE, 2.9 % door Huawei, 2.8% - NVIDIA, 2.7% - Oracle. 11.8% van de wijzigingen werd voorbereid door onafhankelijke bijdragers of ontwikkelaars die niet expliciet verklaarden dat ze voor bepaalde bedrijven werkten. In termen van het aantal van 5.19 regels code dat aan de kernel is toegevoegd, is AMD de leider, wiens aandeel 37.9% was (de amdgpu-driver heeft meer dan 4 miljoen regels code, waarvan de meeste automatisch gegenereerde headerbestanden zijn met gegevens voor GPU registers).

Bron: opennet.ru

Voeg een reactie