Nucleul Linux împlinește 30 de ani

La 25 august 1991, după cinci luni de dezvoltare, studentul Linus Torvalds, în vârstă de 21 de ani, a anunțat pe grupul de știri comp.os.minix crearea unui prototip funcțional al unui nou sistem de operare Linux, pentru care finalizarea porturilor de bash 1.08 și gcc 1.40 a fost notat. Prima lansare publică a nucleului Linux a fost anunțată pe 17 septembrie. Kernel-ul 0.0.1 avea o dimensiune de 62 KB sub formă comprimată și conținea aproximativ 10 mii de linii de cod sursă. Nucleul Linux modern are peste 28 de milioane de linii de cod. Potrivit unui studiu din 2010 comandat de Uniunea Europeană, costul aproximativ al dezvoltării de la zero a unui proiect similar cu kernel-ul modern Linux ar fi de peste un miliard de dolari SUA (calculul a fost făcut când nucleul avea 13 milioane de linii de cod), conform altor estimări – peste 3 miliarde

Nucleul Linux a fost inspirat de sistemul de operare MINIX, pe care lui Linus nu i-a plăcut din cauza licenței sale limitate. Ulterior, când Linux a devenit un proiect binecunoscut, cei nedoritori au încercat să-l acuze pe Linus că a copiat direct codul unor subsisteme MINIX. Atacul a fost respins de Andrew Tanenbaum, autorul cărții MINIX, care i-a desemnat unuia dintre studenții săi să efectueze o comparație detaliată a codului Minix și a primelor versiuni publice de Linux. Rezultatele studiului au arătat prezența a doar patru potriviri nesemnificative ale blocurilor de cod din cauza cerințelor POSIX și ANSI C.

Linus s-a gândit inițial să numească nucleul Freax, din cuvintele „free”, „freak” și X (Unix). Dar numele „Linux” a fost dat nucleului datorită lui Ari Lemmke, care, la cererea lui Linus, a postat nucleul pe serverul FTP al universității, denumind directorul cu arhiva nu „freax”, așa cum a cerut Torvalds, ci „linux. ” Este de remarcat faptul că omul de afaceri întreprinzător William Della Croce a reușit să înregistreze marca Linux și a dorit să colecteze drepturi de autor de-a lungul timpului, dar ulterior s-a răzgândit și a transferat toate drepturile asupra mărcii către Linus. Mascota oficială a nucleului Linux, pinguinul Tux, a fost aleasă ca urmare a unui concurs organizat în 1996. Numele Tux înseamnă Torvalds UniX.

Dinamica de creștere a bazei codului nucleului (număr de linii de cod sursă):

  • 0.0.1 - septembrie 1991, 10 mii de linii de cod;
  • 1.0.0 - martie 1994, 176 mii linii de cod;
  • 1.2.0 - martie 1995, 311 mii linii de cod;
  • 2.0.0 - iunie 1996, 778 mii linii de cod;
  • 2.2.0 - ianuarie 1999, 1.8 milioane de linii de cod;
  • 2.4.0 - ianuarie 2001, 3.4 milioane de linii de cod;
  • 2.6.0 - decembrie 2003, 5.9 milioane de linii de cod;
  • 2.6.28 - decembrie 2008, 10.2 milioane de linii de cod;
  • 2.6.35 - august 2010, 13.4 milioane de linii de cod;
  • 3.0 - august 2011, 14.6 milioane de linii de cod.
  • 3.5 - iulie 2012, 15.5 milioane de linii de cod.
  • 3.10 - iulie 2013, 15.8 milioane de linii de cod;
  • 3.16 - august 2014, 17.5 milioane de linii de cod;
  • 4.1 - iunie 2015, 19.5 milioane de linii de cod;
  • 4.7 - iulie 2016, 21.7 milioane de linii de cod;
  • 4.12 - iulie 2017, 24.1 milioane de linii de cod;
  • 4.18 - august 2018, 25.3 milioane de linii de cod.
  • 5.2 - iulie 2019, 26.55 milioane de linii de cod.
  • 5.8 - august 2020, 28.4 milioane de linii de cod.
  • 5.13 - iunie 2021, 29.2 milioane de linii de cod.

Progresul dezvoltării kernelului:

  • Linux 0.0.1 - septembrie 1991, prima lansare publică, care acceptă doar CPU i386 și pornește de pe o dischetă;
  • Linux 0.12 - ianuarie 1992, codul a început să fie distribuit sub licență GPLv2;
  • Linux 0.95 - martie 1992, este oferită capacitatea de a rula sistemul X Window, este implementat suport pentru memoria virtuală și partiția de swap.
  • Linux 0.96-0.99 - 1992-1993, au început lucrările la stiva de rețea. A fost introdus sistemul de fișiere Ext2, a fost adăugat suportul pentru formatul de fișier ELF, au fost introduse drivere pentru plăcile de sunet și controlere SCSI, încărcarea modulelor kernel și a fost implementat sistemul de fișiere /proc.
  • În 1992, au apărut primele distribuții SLS și Yggdrasil. În vara anului 1993, au fost fondate proiectele Slackware și Debian.
  • Linux 1.0 - martie 1994, prima lansare oficial stabilă;
  • Linux 1.2 - martie 1995, o creștere semnificativă a numărului de drivere, suport pentru platformele Alpha, MIPS și SPARC, capabilități extinse ale stivei de rețea, apariția unui filtru de pachete, suport NFS;
  • Linux 2.0 - iunie 1996, suport pentru sisteme multiprocesor;
  • Martie 1997: LKML, lista de corespondență pentru dezvoltatori de kernel Linux, a fost fondată;
  • 1998: A fost lansat primul cluster bazat pe Linux inclus în lista Top500, format din 68 de noduri cu un CPU Alpha;
  • Linux 2.2 - ianuarie 1999, eficiența sistemului de management al memoriei a fost crescută, a fost adăugat suport IPv6, a fost implementat un nou firewall, a fost introdus un nou subsistem de sunet;
  • Linux 2.4 - februarie 2001, oferă suport pentru sisteme cu 8 procesoare și 64 GB RAM, sistem de fișiere Ext3, suport USB, ACPI;
  • Linux 2.6 - decembrie 2003, suport SELinux, reglare automată a parametrilor kernelului, sysfs, sistem de management al memoriei reproiectat;
  • În 2005, a fost introdus hipervizorul Xen, care a inaugurat era virtualizării;
  • În septembrie 2008, a fost creată prima versiune a platformei Android bazată pe nucleul Linux;
  • În iulie 2011, după 10 ani de dezvoltare a sucursalei 2.6.x, s-a făcut trecerea la numerotarea 3.x. Numărul de obiecte din depozitul Git a ajuns la 2 milioane;
  • În 2015, a fost lansat nucleul Linux 4.0. Numărul de obiecte git din depozit a ajuns la 4 milioane;
  • În aprilie 2018, a fost depășit piatra de hotar de 6 milioane de obiecte git din depozitul kernelului.
  • În ianuarie 2019, s-a format ramura kernel-ului Linux 5.0. Depozitul a ajuns la 6.5 ​​milioane de obiecte git.
  • Kernel-ul 2020, publicat în august 5.8, a devenit cel mai mare din punct de vedere al numărului de modificări ale tuturor nucleelor ​​pe toată durata existenței proiectului.
  • Kernel-ul 5.13 a stabilit un record pentru numărul de dezvoltatori (2150), ale căror modificări au fost incluse în nucleu.
  • În 2021, codul pentru dezvoltarea driverelor în limbajul Rust a fost adăugat la ramura kernel-ului Linux-next. Se lucrează pentru a include componente care să susțină Rust în nucleul de bază.

68% din toate modificările aduse de bază au fost făcute de cele mai active 20 de companii. De exemplu, la dezvoltarea nucleului 5.13, 10% din toate modificările au fost pregătite de Intel, 6.5% de Huawei, 5.9% de Red Hat, 5.7% de Linaro, 4.9% de Google, 4.8% de AMD, 3.1% de NVIDIA, 2.8 % de Facebook, 2.3% - SUSE, 2.1% - IBM, 1.9% - Oracle, 1.5% - ARM, 1.4% - Canonical. 13.2% dintre modificări au fost pregătite de colaboratori sau dezvoltatori independenți care nu au declarat în mod explicit că lucrează pentru anumite companii. 1.3% din modificări au fost pregătite de studenți, absolvenți și reprezentanți ai instituțiilor de învățământ. În ceea ce privește numărul de 5.13 linii de cod adăugate la kernel, lider este AMD, a cărui pondere a fost de 20.2% (driverul amdgpu are aproximativ 3 milioane de linii de cod, ceea ce reprezintă aproximativ 10% din dimensiunea totală a nucleului - 2.4 milioane liniile sunt contabilizate prin fișierele antet generate automat cu date pentru registrele GPU).

Sursa: opennet.ru

Adauga un comentariu