Linux kernel puni 30 godina

Dana 25. kolovoza 1991., nakon pet mjeseci razvoja, 21-godišnji student Linus Torvalds najavio je na news grupi comp.os.minix stvaranje radnog prototipa novog operativnog sustava Linux, za koji je dovršetak portova bash 1.08 i gcc 1.40 je zabilježeno. Prvo javno izdanje Linux kernela najavljeno je 17. rujna. Kernel 0.0.1 bio je veličine 62 KB u komprimiranom obliku i sadržavao je oko 10 tisuća redaka izvornog koda. Moderni Linux kernel ima više od 28 milijuna linija koda. Prema studiji iz 2010. koju je naručila Europska unija, približna cijena razvoja projekta sličnog modernom Linux kernelu od nule bila bi više od milijardu američkih dolara (izračun je napravljen kada je kernel imao 13 milijuna linija koda), prema drugim procjenama - više od 3 milijarde

Linux kernel inspiriran je operativnim sustavom MINIX, koji se Linusu nije sviđao zbog ograničene licence. Nakon toga, kada je Linux postao dobro poznat projekt, zlonamjernici su pokušali optužiti Linusa za izravno kopiranje koda nekih MINIX podsustava. Napad je odbio Andrew Tanenbaum, autor MINIX-a, koji je zadužio jednog od svojih učenika da provede detaljnu usporedbu Minix koda i prvih javnih verzija Linuxa. Rezultati studije pokazali su prisutnost samo četiri beznačajna podudaranja kodnih blokova zbog POSIX i ANSI C zahtjeva.

Linus je prvobitno mislio nazvati kernel Freax, od riječi "besplatno", "nakaza" i X (Unix). Ali naziv "Linux" kernel je dobio zahvaljujući Ari Lemmkeu, koji je, na Linusov zahtjev, postavio kernel na FTP poslužitelj sveučilišta, nazvavši direktorij s arhivom ne "freax", kako je Torvalds tražio, već "linux". ” Zanimljivo je da je poduzetni biznismen William Della Croce uspio registrirati žig Linuxa i želio je s vremenom ubirati tantijeme, ali se kasnije predomislio i sva prava na žig prenio na Linusa. Službena maskota jezgre Linuxa, pingvin Tux, izabran je kao rezultat natječaja održanog 1996. godine. Ime Tux je kratica za Torvalds UniX.

Dinamika rasta baze kernel koda (broj linija izvornog koda):

  • 0.0.1 - rujan 1991., 10 tisuća redaka koda;
  • 1.0.0 - ožujak 1994., 176 tisuća redaka koda;
  • 1.2.0 - ožujak 1995., 311 tisuća redaka koda;
  • 2.0.0 - lipanj 1996., 778 tisuća linija koda;
  • 2.2.0 - siječanj 1999., 1.8 milijuna linija koda;
  • 2.4.0 - siječanj 2001., 3.4 milijuna linija koda;
  • 2.6.0 - prosinac 2003., 5.9 milijuna linija koda;
  • 2.6.28 - prosinac 2008., 10.2 milijuna linija koda;
  • 2.6.35 - kolovoz 2010., 13.4 milijuna linija koda;
  • 3.0 - kolovoz 2011., 14.6 milijuna linija koda.
  • 3.5 - srpanj 2012., 15.5 milijuna linija koda.
  • 3.10 - srpanj 2013., 15.8 milijuna linija koda;
  • 3.16 - kolovoz 2014., 17.5 milijuna linija koda;
  • 4.1 - lipanj 2015., 19.5 milijuna linija koda;
  • 4.7 - srpanj 2016., 21.7 milijuna linija koda;
  • 4.12 - srpanj 2017., 24.1 milijuna linija koda;
  • 4.18 - kolovoz 2018., 25.3 milijuna linija koda.
  • 5.2 - srpanj 2019., 26.55 milijuna linija koda.
  • 5.8 - kolovoz 2020., 28.4 milijuna linija koda.
  • 5.13 - lipanj 2021., 29.2 milijuna redaka koda.

Napredak razvoja kernela:

  • Linux 0.0.1 - rujan 1991., prvo javno izdanje, podržava samo i386 CPU i diže se s diskete;
  • Linux 0.12 - siječanj 1992., kôd se počeo distribuirati pod GPLv2 licencom;
  • Linux 0.95 - ožujak 1992., omogućena je mogućnost pokretanja X Window sustava, implementirana je podrška za virtualnu memoriju i swap particiju.
  • Linux 0.96-0.99 - 1992.-1993., započeo je rad na mrežnom stogu. Uveden je Ext2 datotečni sustav, dodana je podrška za ELF datotečni format, uvedeni su drajveri za zvučne kartice i SCSI kontrolere, implementirano je učitavanje kernel modula i /proc datotečni sustav.
  • Godine 1992. pojavljuju se prve distribucije SLS i Yggdrasil. U ljeto 1993. godine osnovani su projekti Slackware i Debian.
  • Linux 1.0 - ožujak 1994., prvo službeno stabilno izdanje;
  • Linux 1.2 - ožujak 1995., značajno povećanje broja upravljačkih programa, podrška za Alpha, MIPS i SPARC platforme, proširene mogućnosti mrežnog skupa, pojava filtera paketa, NFS podrška;
  • Linux 2.0 - lipanj 1996., podrška za višeprocesorske sustave;
  • Ožujak 1997.: LKML, mailing lista razvijača Linux kernela, osnovana;
  • 1998: Lansiran je prvi klaster temeljen na Linuxu uključen u Top500 listu, koji se sastoji od 68 čvorova s ​​Alpha CPU-om;
  • Linux 2.2 - siječanj 1999., povećana je učinkovitost sustava za upravljanje memorijom, dodana je IPv6 podrška, implementiran je novi vatrozid, uveden je novi zvučni podsustav;
  • Linux 2.4 - veljača 2001., pruža podršku za 8-procesorske sustave i 64 GB RAM-a, Ext3 datotečni sustav, USB podršku, ACPI;
  • Linux 2.6 - prosinac 2003., podrška za SELinux, automatsko podešavanje parametara jezgre, sysfs, redizajnirani sustav upravljanja memorijom;
  • Godine 2005. predstavljen je Xen hipervizor koji je započeo eru virtualizacije;
  • U rujnu 2008. formirano je prvo izdanje Android platforme temeljene na Linux kernelu;
  • U srpnju 2011. godine, nakon 10 godina razvoja ogranka 2.6.x, izvršen je prijelaz na numeraciju 3.x. Broj objekata u Git repozitoriju dosegnuo je 2 milijuna;
  • U 2015. je izdana Linux kernel 4.0. Broj git objekata u repozitoriju dosegnuo je 4 milijuna;
  • U travnju 2018. prijeđena je prekretnica od 6 milijuna git objekata u repozitoriju kernela.
  • U siječnju 2019. osnovan je ogranak jezgre Linuxa 5.0. Repozitorij je dosegao 6.5 milijuna git objekata.
  • Kernel 2020, objavljen u kolovozu 5.8., postao je najveći u pogledu broja promjena svih kernela tijekom cijelog postojanja projekta.
  • Kernel 5.13 postavio je rekord u broju programera (2150), čije su promjene uključene u kernel.
  • Godine 2021., kod za razvoj upravljačkih programa na jeziku Rust dodan je u granu jezgre Linux-next. U tijeku je rad na uključivanju komponenti za podršku Rustu u jezgru jezgre.

68% svih promjena u srži izvršilo je 20 najaktivnijih tvrtki. Na primjer, prilikom razvoja kernela 5.13, 10% svih promjena pripremio je Intel, 6.5% Huawei, 5.9% Red Hat, 5.7% Linaro, 4.9% Google, 4.8% AMD, 3.1% NVIDIA, 2.8 % od strane Facebooka, 2.3% - SUSE, 2.1% - IBM, 1.9% - Oracle, 1.5% - ARM, 1.4% - Canonical. 13.2% izmjena pripremili su neovisni suradnici ili programeri koji nisu izričito izjavili da rade za određene tvrtke. 1.3% promjena pripremili su studenti, diplomanti i predstavnici obrazovnih institucija. Što se tiče broja od 5.13 redaka koda dodanih kernelu, AMD je vodeći, čiji je udio bio 20.2% (amdgpu driver ima oko 3 milijuna linija koda, što je otprilike 10% ukupne veličine kernela - 2.4 milijuna linije se obračunavaju automatski generiranim datotekama zaglavlja s podacima za GPU registre).

Izvor: opennet.ru

Dodajte komentar