Linux kernel je star 31 godinu

Dana 25. avgusta 1991., nakon pet mjeseci razvoja, 21-godišnji student Linus Torvalds je na telekonferenciji comp.os.minix objavio da je završen radni prototip novog Linux operativnog sistema, prenoseći bash 1.08 i gcc 1.40. je završeno. Prvo javno izdanje Linux kernela predstavljeno je 17. septembra. Kernel 0.0.1 bio je komprimiran od 62 KB i sadržavao je oko 10 linija izvornog koda. Moderni Linux kernel ima preko 30 miliona linija koda. Prema studiji koju je naručila Evropska unija 2010. godine, približni trošak razvoja od nule projekta sličnog modernom Linux kernelu bio bi više od milijardu američkih dolara (izračun je napravljen kada je kernel imao 13 miliona linija koda) , prema drugim procjenama - više od 3 milijarde.

Linux kernel je inspirisan operativnim sistemom MINIX, koji nije odgovarao Linusu sa svojom ograničenom licencom. Nakon toga, kada je Linux postao dobro poznat projekat, klevetnici su pokušali da optuže Linusa da direktno kopira kod nekih MINIX podsistema. Napad je odbio Andrew Tanenbaum, autor MINIX-a, koji je naručio studenta da napravi detaljno poređenje između Minix koda i prvih javnih izdanja Linuxa. Rezultati studije su pokazali prisustvo samo četiri manja podudaranja kodnih blokova, zbog zahtjeva POSIX i ANSI C.

Linus je prvobitno mislio da kernelu nazove Freax, od riječi "free", "freak" i X (Unix). Ali ime „Linux“ jezgru je dao Ari Lemmke, koji je, na Linusov zahtev, postavio kernel na univerzitetski FTP server, nazvavši direktorijum sa arhivom ne „freax“, kako je Torvalds tražio, već „linux ”. Važno je napomenuti da je preduzimljivi biznismen William Della Croce (William Della Croce) uspio registrovati žig Linuxa i želio je vremenom naplatiti tantijeme, ali se kasnije predomislio i sva prava na zaštitni znak prenio na Linusa. Zvanična maskota Linux kernela, pingvin Tux, izabran je kao rezultat takmičenja održanog 1996. godine. Ime Tux je skraćenica za Torvalds UniX.

Dinamika rasta kodne baze (broj linija izvornog koda) kernela:

  • 0.0.1 - septembar 1991, 10 hiljada linija koda;
  • 1.0.0 - mart 1994, 176 hiljada linija koda;
  • 1.2.0 - mart 1995, 311 hiljada linija koda;
  • 2.0.0 - jun 1996, 778 hiljada linija koda;
  • 2.2.0 - januar 1999, 1.8 miliona linija koda;
  • 2.4.0 - januar 2001, 3.4 miliona linija koda;
  • 2.6.0 - decembar 2003, 5.9 miliona linija koda;
  • 2.6.28 - decembar 2008, 10.2 miliona linija koda;
  • 2.6.35 - avgust 2010, 13.4 miliona linija koda;
  • 3.0 - avgust 2011, 14.6 miliona linija koda.
  • 3.5 - jul 2012, 15.5 miliona linija koda.
  • 3.10 - jul 2013, 15.8 miliona linija koda;
  • 3.16 - avgust 2014, 17.5 miliona linija koda;
  • 4.1 - jun 2015, 19.5 miliona linija koda;
  • 4.7 - jul 2016, 21.7 miliona linija koda;
  • 4.12 - jul 2017, 24.1 miliona linija koda;
  • 4.18 - avgust 2018, 25.3 miliona linija koda.
  • 5.2 - jul 2019, 26.55 miliona linija koda.
  • 5.8 - avgust 2020, 28.4 miliona linija koda.
  • 5.13 - jun 2021, 29.2 miliona linija koda.
  • 5.19 - avgust 2022, 30.5 miliona linija koda.

Osnovni razvojni napredak:

  • Linux 0.0.1 - septembar 1991, prvo javno izdanje koje podržava samo i386 CPU i dizanje sa diskete;
  • Linux 0.12 - Januar 1992, kod je počeo da se distribuira pod GPLv2 licencom;
  • Linux 0.95 - mart 1992, dodao je mogućnost pokretanja X Window sistema, implementirao podršku za virtuelnu memoriju i swap particiju.
  • Linux 0.96-0.99 - 1992-1993, počeo je rad na mrežnom steku. Uveden je sistem datoteka Ext2, dodata podrška za ELF format datoteka, uvedeni su drajveri za zvučne kartice i SCSI kontrolere, implementirano je učitavanje kernel modula i /proc fajl sistema.
  • Godine 1992. pojavile su se prve distribucije SLS-a i Yggdrasila. U ljeto 1993. osnovani su projekti Slackware i Debian.
  • Linux 1.0 - mart 1994, prvo službeno stabilno izdanje;
  • Linux 1.2 - mart 1995, značajno povećanje broja drajvera, podrška za Alpha, MIPS i SPARC platforme, proširene mogućnosti mrežnog steka, pojava filtera paketa, podrška za NFS;
  • Linux 2.0 - jun 1996, podrška za višeprocesorske sisteme;
  • Mart 1997: osnovan LKML, Linux kernel mailing lista;
  • 1998: Lansiran prvi Top500 Linux klaster, koji se sastoji od 68 čvorova sa Alpha CPU-ovima;
  • Linux 2.2 - januar 1999, poboljšana efikasnost sistema za upravljanje memorijom, dodata podrška za IPv6, implementiran novi zaštitni zid, uveden novi zvučni podsistem;
  • Linux 2.4 - februar 2001, podrška za 8-procesorske sisteme i 64 GB RAM-a, Ext3 sistem datoteka, USB podrška, ACPI;
  • Linux 2.6 - decembar 2003, podrška za SELinux, alati za automatsko podešavanje parametara kernela, sysfs, redizajniran sistem upravljanja memorijom;
  • 2005. godine predstavljen je Xen hipervizor, koji je započeo eru virtuelizacije;
  • U septembru 2008. formirano je prvo izdanje Android platforme zasnovane na Linux kernelu;
  • U julu 2011. godine, nakon 10 godina razvoja grane 2.6.x, izvršen je prelazak na 3.x numeraciju. Broj objekata u Git repozitorijumu dostigao je 2 miliona;
  • U 2015. godini došlo je do puštanja Linux 4.0 kernela. Broj git objekata u spremištu je dostigao 4 miliona;
  • U aprilu 2018. prevaziđena je prekretnica od 6 miliona git objekata u osnovnom spremištu.
  • U januaru 2019. formirana je grana kernela Linux 5.0. Repozitorijum je dostigao nivo od 6.5 miliona git objekata.
  • Objavljeno u avgustu 2020. godine, 5.8 kernel je bio najveći po broju izmjena svih kernela tokom cijelog životnog vijeka projekta.
  • U kernelu 5.13 postavljen je rekord po broju programera (2150), čije su promjene uključene u kernel.
  • 2021. godine, kod za razvoj drajvera u Rustu je dodan u Linux-sljedeću granu kernela. U toku je rad na uključivanju komponenti koje podržavaju Rust u glavni dio jezgre.
  • U avgustu 2022. formirana je grana kernela Linux 6.0, jer je bilo dovoljno izdanja u grani 5.x da se promijeni prvi broj u broju verzije.

68% svih suštinskih promena izvršilo je 20 najboljih kompanija. Na primjer, prilikom razvoja kernela 5.19, 10.9% svih promjena pripremio je 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% izmjena pripremili su nezavisni saradnici ili programeri koji nisu eksplicitno deklarirali svoj rad za određene kompanije. Sa 5.19 linija koda dodatih kernelu, AMD je vodeći, sa udelom od 37.9% (amdgpu drajver ima preko 4 miliona linija koda, od kojih su većina automatski generisani fajlovi zaglavlja sa podacima za GPU registre).

izvor: opennet.ru

Dodajte komentar