Jedro Linuxa je staro 30 let

25. avgusta 1991, po petih mesecih razvoja, je 21-letni študent Linus Torvalds na telekonferenci comp.os.minix objavil, da je dokončan delujoči prototip novega operacijskega sistema Linux, prenos bash 1.08 in gcc 1.40 je bil dokončan. Prva javna izdaja jedra Linuxa je bila predstavljena 17. septembra. Jedro 0.0.1 je bilo stisnjeno s 62 KB in je vsebovalo približno 10 vrstic izvorne kode. Sodobno jedro Linuxa ima več kot 28 milijonov vrstic kode. Glede na študijo, ki jo je leta 2010 naročila Evropska unija, bi bili približni stroški razvoja iz nič projekta, podobnega sodobnemu jedru Linuxa, več kot milijarda ameriških dolarjev (izračun je bil narejen, ko je imelo jedro 13 milijonov vrstic kode). , po drugih ocenah - več kot 3 milijarde.

Jedro Linuxa se je zgledovalo po operacijskem sistemu MINIX, ki Linusu s svojo omejeno licenco ni ustrezal. Kasneje, ko je Linux postal znan projekt, so nasprotniki poskušali Linusa obtožiti neposrednega kopiranja kode nekaterih podsistemov MINIX. Napad je odbil Andrew Tanenbaum, avtor MINIX-a, ki je študentu naročil, naj naredi podrobno primerjavo med kodo Minixa in prvimi javnimi izdajami Linuxa. Rezultati študije so pokazali prisotnost le štirih manjših ujemanj kodnih blokov zaradi zahtev POSIX in ANSI C.

Linus je prvotno mislil, da bi jedro poimenoval Freax, iz besed "free", "freak" in X (Unix). Toda ime »Linux« je jedru dal Ari Lemmke, ki je na zahtevo Linusa postavil jedro na univerzitetni strežnik FTP, imenik z arhivom pa ni poimenoval »freax«, kot je zahteval Torvalds, ampak »linux ”. Omeniti velja, da je podjetni poslovnež William Della Croce (William Della Croce) uspel registrirati blagovno znamko Linux in je sčasoma želel pobrati licenčnine, vendar se je pozneje premislil in vse pravice do blagovne znamke prenesel na Linusa. Uradna maskota jedra Linuxa, pingvin Tux, je bil izbran na natečaju leta 1996. Ime Tux pomeni Torvalds UniX.

Dinamika rasti kodne baze (število vrstic izvorne kode) jedra:

  • 0.0.1 - september 1991, 10 tisoč vrstic kode;
  • 1.0.0 - marec 1994, 176 tisoč vrstic kode;
  • 1.2.0 - marec 1995, 311 tisoč vrstic kode;
  • 2.0.0 - junij 1996, 778 tisoč vrstic kode;
  • 2.2.0 - januar 1999, 1.8 milijona vrstic kode;
  • 2.4.0 - januar 2001, 3.4 milijona vrstic kode;
  • 2.6.0 - december 2003, 5.9 milijona vrstic kode;
  • 2.6.28 - december 2008, 10.2 milijona vrstic kode;
  • 2.6.35 - avgust 2010, 13.4 milijona vrstic kode;
  • 3.0 - avgust 2011, 14.6 milijona vrstic kode.
  • 3.5 - julij 2012, 15.5 milijona vrstic kode.
  • 3.10 - julij 2013, 15.8 milijona vrstic kode;
  • 3.16 - avgust 2014, 17.5 milijona vrstic kode;
  • 4.1 - junij 2015, 19.5 milijona vrstic kode;
  • 4.7 - julij 2016, 21.7 milijona vrstic kode;
  • 4.12 - julij 2017, 24.1 milijona vrstic kode;
  • 4.18 - avgust 2018, 25.3 milijona vrstic kode.
  • 5.2 - julij 2019, 26.55 milijona vrstic kode.
  • 5.8 - avgust 2020, 28.4 milijona vrstic kode.
  • 5.13 – junij 2021, 29.2 milijona vrstic kode.

Napredek osnovnega razvoja:

  • Linux 0.0.1 - september 1991, prva javna izdaja, ki podpira samo CPU i386 in zagon z diskete;
  • Linux 0.12 - januar 1992, koda se je začela distribuirati pod licenco GPLv2;
  • Linux 0.95 - marec 1992, dodana zmožnost zagona sistema X Window, implementirana podpora za navidezni pomnilnik in izmenjalno particijo.
  • Linux 0.96-0.99 - 1992-1993, začelo se je delo na omrežnem skladu. Predstavljen je bil datotečni sistem Ext2, dodana je bila podpora za datotečni format ELF, predstavljeni so bili gonilniki za zvočne kartice in krmilnike SCSI, implementirano je bilo nalaganje modulov jedra in datotečni sistem /proc.
  • Leta 1992 so se pojavile prve distribucije SLS in Yggdrasil. Poleti 1993 sta bila ustanovljena projekta Slackware in Debian.
  • Linux 1.0 - marec 1994, prva uradno stabilna izdaja;
  • Linux 1.2 - marec 1995, znatno povečanje števila gonilnikov, podpora za platforme Alpha, MIPS in SPARC, razširjene zmogljivosti omrežnega sklada, pojav paketnega filtra, podpora za NFS;
  • Linux 2.0 - junij 1996, podpora za večprocesorske sisteme;
  • Marec 1997: LKML, ustanovljen poštni seznam razvijalcev jedra Linuxa;
  • 1998: lansiranje prve gruče Top500 na osnovi Linuxa, sestavljene iz 68 vozlišč s procesorji Alpha;
  • Linux 2.2 - januar 1999, izboljšana učinkovitost sistema za upravljanje pomnilnika, dodana podpora za IPv6, implementiran nov požarni zid, uveden nov zvočni podsistem;
  • Linux 2.4 - februar 2001, podpora za 8-procesorske sisteme in 64 GB RAM-a, datotečni sistem Ext3, podpora USB, ACPI;
  • Linux 2.6 - december 2003, podpora za SELinux, orodja za samodejno uravnavanje parametrov jedra, sysfs, preoblikovan sistem za upravljanje pomnilnika;
  • Leta 2005 je bil predstavljen hipervizor Xen, ki je začel dobo virtualizacije;
  • Septembra 2008 je nastala prva izdaja platforme Android, ki temelji na jedru Linux;
  • Julija 2011 je bil po 10 letih razvoja veje 2.6.x izveden prehod na številčenje 3.x. Število predmetov v skladišču Git je doseglo 2 milijona;
  • Leta 2015 je prišlo do izdaje jedra Linux 4.0. Število objektov git v repozitoriju je doseglo 4 milijone;
  • Aprila 2018 je bil presežen mejnik 6 milijonov objektov git v jedrnem repozitoriju.
  • Januarja 2019 je bila ustanovljena veja jedra Linux 5.0. Repozitorij je dosegel raven 6.5 milijona objektov git.
  • Jedro 2020, objavljeno avgusta 5.8, je bilo največje po številu sprememb med vsemi jedri v celotni življenjski dobi projekta.
  • V jedru 5.13 je bil dosežen rekord v številu razvijalcev (2150), katerih spremembe so bile vključene v jedro.
  • Leta 2021 je bila veji jedra Linux-next dodana koda za razvoj gonilnikov v Rustu. Potekajo dela za vključitev komponent za podporo Rust v glavni del jedra.

68 % vseh sprememb jedra je izvedlo 20 najbolj aktivnih podjetij. Na primer, pri razvoju jedra 5.13 je 10 % vseh sprememb pripravil Intel, 6.5 % Huawei, 5.9 % Red Hat, 5.7 % Linaro, 4.9 % Google, 4.8 % AMD, 3.1 % NVIDIA, 2.8 % po Facebooku, 2.3 % - SUSE, 2.1 % - IBM, 1.9 % - Oracle, 1.5 % - ARM, 1.4 % - Canonical. 13.2 % sprememb so pripravili neodvisni sodelavci ali razvijalci, ki niso izrecno izjavili, da delajo za določena podjetja. 1.3 % sprememb so pripravili študenti, podiplomski študenti in predstavniki izobraževalnih ustanov. Po številu 5.13 vrstic kode, dodanih v jedro, je vodilni AMD, katerega delež je znašal 20.2% (gonilnik amdgpu ima približno 3 milijone vrstic kode, kar je približno 10% celotne velikosti jedra - 2.4 milijona). vrstice se obračunavajo s samodejno ustvarjenimi datotekami glave s podatki za registre GPE).

Vir: opennet.ru

Dodaj komentar