Linuxi kernel on 31 aastat vana

25. augustil 1991, pärast viiekuulist arendustööd, teatas 21-aastane tudeng Linus Torvalds uudistegrupis comp.os.minix uue Linuxi operatsioonisüsteemi toimiva prototüübi loomisest, mille jaoks on valminud bashi pordid. 1.08 ja gcc 1.40 märgiti ära. Linuxi kerneli esimene avalik väljalase kuulutati välja 17. septembril. Kernel 0.0.1 oli tihendatud kujul 62 KB suurune ja sisaldas umbes 10 tuhat lähtekoodi rida. Kaasaegses Linuxi tuumas on rohkem kui 30 miljonit koodirida. Euroopa Liidu tellitud 2010. aasta uuringu kohaselt oleks tänapäevase Linuxi tuumaga sarnase projekti nullist väljatöötamise ligikaudne maksumus enam kui miljard USA dollarit (arvutus tehti siis, kui tuumas oli 13 miljonit koodirida). teiste hinnangute kohaselt - üle 3 miljardi

Linuxi kernel sai inspiratsiooni operatsioonisüsteemist MINIX, mis Linusele selle piiratud litsentsi tõttu ei meeldinud. Hiljem, kui Linuxist sai tuntud projekt, üritasid pahatahtlikud Linust süüdistada mõne MINIX-i alamsüsteemi koodi otseses kopeerimises. Rünnaku tõrjus MINIXi autor Andrew Tanenbaum, kes määras ühele oma õpilasele Minixi koodi ja Linuxi esimeste avalike versioonide üksikasjaliku võrdluse. Uuringu tulemused näitasid POSIXi ja ANSI C nõuete tõttu ainult nelja ebaolulise koodiplokkide vaste olemasolu.

Linus mõtles algselt nimetada kerneli Freaxiks sõnadest "free", "freak" ja X (Unix). Kuid nime “Linux” sai kernel tänu Ari Lemmkele, kes Linuse palvel postitas tuuma ülikooli FTP-serverisse, nimetades arhiiviga kataloogi mitte “freax”, nagu Torvalds nõudis, vaid “linuxiks. ” Tähelepanuväärne on see, et ettevõtlik ärimees William Della Croce jõudis registreerida Linuxi kaubamärgi ja soovis aja jooksul koguda autoritasusid, kuid hiljem mõtles ümber ja loovutas kõik kaubamärgiõigused Linusele. Linuxi tuuma ametlik maskott Tux pingviin valiti 1996. aastal toimunud konkursi tulemusena. Nimi Tux tähistab Torvalds UniX.

Kerneli koodibaasi kasvudünaamika (lähtekoodi ridade arv):

  • 0.0.1 - september 1991, 10 tuhat koodirida;
  • 1.0.0 – märts 1994, 176 tuhat koodirida;
  • 1.2.0 – märts 1995, 311 tuhat koodirida;
  • 2.0.0 – juuni 1996, 778 tuhat koodirida;
  • 2.2.0 – jaanuar 1999, 1.8 miljonit koodirida;
  • 2.4.0 – jaanuar 2001, 3.4 miljonit koodirida;
  • 2.6.0 – detsember 2003, 5.9 miljonit koodirida;
  • 2.6.28 – detsember 2008, 10.2 miljonit koodirida;
  • 2.6.35 – august 2010, 13.4 miljonit koodirida;
  • 3.0 – august 2011, 14.6 miljonit koodirida.
  • 3.5 – juuli 2012, 15.5 miljonit koodirida.
  • 3.10 – juuli 2013, 15.8 miljonit koodirida;
  • 3.16 – august 2014, 17.5 miljonit koodirida;
  • 4.1 – juuni 2015, 19.5 miljonit koodirida;
  • 4.7 – juuli 2016, 21.7 miljonit koodirida;
  • 4.12 – juuli 2017, 24.1 miljonit koodirida;
  • 4.18 – august 2018, 25.3 miljonit koodirida.
  • 5.2 – juuli 2019, 26.55 miljonit koodirida.
  • 5.8 – august 2020, 28.4 miljonit koodirida.
  • 5.13 – juuni 2021, 29.2 miljonit koodirida.
  • 5.19 – august 2022, 30.5 miljonit koodirida.

Kerneli arendamise edenemine:

  • Linux 0.0.1 – september 1991, esimene avalik väljalase, mis toetab ainult i386 CPU-d ja käivitab disketilt;
  • Linux 0.12 – jaanuar 1992, koodi hakati levitama GPLv2 litsentsi all;
  • Linux 0.95 – märts 1992, pakutakse X Window Systemi käivitamise võimalust, rakendatakse virtuaalmälu ja vahetuspartitsiooni tugi.
  • Linux 0.96-0.99 – 1992-1993, algas töö võrgupinu kallal. Kasutusele võeti failisüsteem Ext2, lisati ELF failivormingu tugi, võeti kasutusele helikaartide ja SCSI kontrollerite draiverid, juurutati kerneli moodulite laadimine ja /proc failisüsteem.
  • 1992. aastal ilmusid esimesed distributsioonid SLS ja Yggdrasil. 1993. aasta suvel asutati Slackware ja Debian projektid.
  • Linux 1.0 – märts 1994, esimene ametlikult stabiilne väljalase;
  • Linux 1.2 – märts 1995, draiverite arvu märkimisväärne kasv, platvormide Alpha, MIPS ja SPARC tugi, võrgupinu laiendatud võimalused, pakettfiltri ilmumine, NFS-i tugi;
  • Linux 2.0 – juuni 1996, tugi mitmeprotsessorilistele süsteemidele;
  • märts 1997: asutati LKML, Linuxi kerneli arendajate meililist;
  • 1998: käivitati esimene Top500 nimekirja kantud Linuxi-põhine klaster, mis koosnes 68 Alpha CPU-ga sõlmest;
  • Linux 2.2 - jaanuar 1999 on suurendatud mäluhaldussüsteemi efektiivsust, lisatud IPv6 tugi, juurutatud uus tulemüür, kasutusele võetud uus heli alamsüsteem;
  • Linux 2.4 – veebruar 2001, toetab 8 protsessoriga süsteeme ja 64 GB muutmälu, Ext3 failisüsteemi, USB tuge, ACPI;
  • Linux 2.6 – detsember 2003, SELinuxi tugi, kerneli parameetrite automaatne häälestamine, sysfs, ümberkujundatud mäluhaldussüsteem;
  • 2005. aastal võeti kasutusele Xeni hüperviisor, mis juhatas sisse virtualiseerimise ajastu;
  • 2008. aasta septembris loodi esimene Linuxi tuumal põhineva Androidi platvormi väljalase;
  • 2011. aasta juulis, pärast 10 aastat kestnud 2.6.x filiaali arendamist, viidi üle 3.x numeratsioonile. Giti hoidlas olevate objektide arv on jõudnud 2 miljonini;
  • 2015. aastal anti välja Linuxi kernel 4.0. Git-objektide arv hoidlas on jõudnud 4 miljonini;
  • 2018. aasta aprillis ületati kerneli hoidlas oleva 6 miljoni git-objekti verstapost.
  • 2019. aasta jaanuaris moodustati Linuxi 5.0 tuuma haru. Hoidlas on jõudnud 6.5 miljonit git-objekti.
  • 2020. aasta augustis avaldatud kernel 5.8 tõusis kõigi tuumade muudatuste arvult kogu projekti vältel suurimaks.
  • Kernel 5.13 püstitas rekordi arendajate arvu osas (2150), kelle muudatused kernelisse kaasati.
  • 2021. aastal lisati Linuxi järgmisesse kerneli harusse Rust-keeles draiverite arendamise kood. Käimas on töö Rusti toetavate komponentide lisamiseks tuuma tuuma.
  • 2022. aasta augustis moodustati Linuxi 6.0 kerneli haru, kuna 5.x harus oli kogunenud piisavalt väljalaseid, et muuta versiooninumbri esimest numbrit.

68% kõigist tuumiku muudatustest tegid 20 kõige aktiivsemat ettevõtet. Näiteks kerneli 5.19 arendamisel valmistas 10.9% kõigist muudatustest Intel, 5.7% Linaro, 5.5% AMD, 5.2% Red Hat, 4.1% Google, 3.5% Meta, 3.1% SUSE, 2.9 % Huawei, 2.8% - NVIDIA, 2.7% - Oracle. 11.8% muudatustest valmistasid ette sõltumatud panustajad või arendajad, kes ei andnud selgesõnaliselt teada, et nad töötavad teatud ettevõtete heaks. Kernelile lisatud 5.19 koodirea arvu poolest on liider AMD, mille osakaal oli 37.9% (amdgpu draiveril on üle 4 miljoni koodirea, millest enamik on automaatselt genereeritud päisefailid andmetega GPU jaoks registrid).

Allikas: opennet.ru

Lisa kommentaar