Il kernel Linux ha compiuto 34 anni

Il 25 agosto 1991, dopo cinque mesi di sviluppo, il ventunenne Linus Torvalds annunciò nella conferenza online comp.os.minix la creazione di un prototipo funzionante di un nuovo sistema operativo, Linux, per il quale era stato completato il porting di bash 1.08 e gcc 1.40. Il primo rilascio pubblico del kernel di Linux fu presentato il 17 settembre. Il kernel 0.0.1 aveva una dimensione di 62 KB in forma compressa e conteneva circa 10.000 righe di codice sorgente. Il moderno kernel di Linux conta circa 41 milioni di righe di codice.

Il kernel Linux è stato creato sotto l'influenza del sistema operativo MINIX, che non soddisfaceva Linus a causa della sua licenza restrittiva. Successivamente, quando Linux divenne un progetto conosciuto, i detrattori cercarono di accusare Linus di aver copiato direttamente il codice di alcune sottosistemi di MINIX. L'attacco fu respinto da Andrew Tanenbaum, l'autore di MINIX, che incaricò uno dei suoi studenti di eseguire un confronto dettagliato tra il codice di Minix e le prime versioni pubbliche di Linux. I risultati dello studio mostrarono solo quattro coincidenze non sostanziali nei blocchi di codice, dovute ai requisiti di POSIX e ANSI C.

Inizialmente, Linus aveva intenzione di chiamare il kernel Freax, da «free», «freak» e X (Unix). Ma il nome «Linux» è stato dato al kernel grazie a Ari Lemmke, che su richiesta di Linus ha ospitato il kernel su un server FTP dell'università, chiamando la directory con l'archivio non «freax», come richiesto da Torvalds, ma «linux». È interessante notare che l'intraprendente William Della Croce è riuscito a registrare il marchio Linux e voleva raccogliere royalties nel tempo, ma in seguito ha cambiato idea e ha trasferito tutti i diritti sul marchio a Linus. Il mascotte ufficiale del kernel Linux, il pinguino Tux, è stato scelto a seguito di un concorso tenutosi nel 1996. Il nome Tux è un acronimo per Torvalds UniX.

Dinamica di crescita della base di codice (numero di righe di codice sorgente) del kernel:

  • 0.0.1 — settembre 1991, 10.000 righe di codice;
  • 1.0.0 — marzo 1994, 176.000 righe di codice;
  • 1.2.0 — marzo 1995, 311.000 righe di codice;
  • 2.0.0 — giugno 1996, 778.000 righe di codice;
  • 2.2.0 — gennaio 1999, 1.8 milioni di righe di codice;
  • 2.4.0 — gennaio 2001, 3.4 milioni di righe di codice;
  • 2.6.0 — dicembre 2003, 5.9 milioni di righe di codice;
  • 2.6.28 — dicembre 2008, 10.2 milioni di righe di codice;
  • 2.6.35 — agosto 2010, 13.4 milioni di righe di codice;
  • 3.0 — agosto 2011, 14.6 milioni di righe di codice;
  • 3.5 — luglio 2012, 15.5 milioni di righe di codice;
  • 3.10 — luglio 2013, 15.8 milioni di righe di codice;
  • 3.16 — agosto 2014, 17.5 milioni di righe di codice;
  • 4.1 — giugno 2015, 19.5 milioni di righe di codice;
  • 4.7 — luglio 2016, 21.7 milioni di righe di codice;
  • 4.12 — luglio 2017, 24.1 milioni di righe di codice;
  • 4.18 — agosto 2018, 25.3 milioni di righe di codice;
  • 5.2 — luglio 2019, 26.55 milioni di righe di codice;
  • 5.8 — agosto 2020, 28.4 milioni di righe di codice;
  • 5.13 — giugno 2021, 29.2 milioni di righe di codice;
  • 5.19 — agosto 2022, 30.5 milioni di righe di codice;
  • 6.4 — giugno 2023, 32.9 milioni di righe di codice.
  • 6.10 — luglio 2024, 35.1 milioni di righe di codice.
  • 6.16 — luglio 2025, 40.8 milioni di righe di codice.

Progresso nello sviluppo del kernel:

  • Linux 0.0.1 — settembre 1991, primo rilascio pubblico, supporta solo CPU i386 e si avvia da dischetto;
  • Linux 0.12 — gennaio 1992, il codice ha iniziato a essere distribuito sotto licenza GPLv2;
  • Linux 0.95 — marzo 1992, è stata resa possibile l'esecuzione del sistema X Window, implementato il supporto per la memoria virtuale e lo swap.
  • Linux 0.96-0.99 — 1992-1993, iniziato il lavoro sullo stack di rete. È stata introdotta la filesystem Ext2, aggiunto il supporto per il formato di file ELF, presentati driver per schede audio e controller SCSI, implementato il caricamento di moduli del kernel e del filesystem /proc.
  • Nel 1992 sono apparsi i primi distribuitivi SLS e Yggdrasil. Nell'estate del 1993 sono stati fondati i progetti Slackware e Debian.
  • Linux 1.0 — marzo 1994, primo rilascio ufficialmente stabile;
  • Linux 1.2 — marzo 1995, aumento significativo del numero di driver, supporto per le piattaforme Alpha, MIPS e SPARC, espansione delle capacità dello stack di rete, introduzione del filtro a pacchetto, supporto per NFS;
  • Linux 2.0 — giugno 1996, supporto per sistemi multiprocessore;
  • Marzo 1997: fondata la LKML, mailing list degli sviluppatori del kernel Linux;
  • 1998: lanciato il primo cluster basato su Linux, entrato nella lista Top500, composto da 68 nodi con CPU Alpha;
  • Linux 2.2 — gennaio 1999, migliorata l'efficienza della gestione della memoria, aggiunto supporto IPv6, implementato un nuovo firewall, presentato un nuovo sottosistema audio;
  • Linux 2.4 — febbraio 2001, supporto per sistemi a 8 processori e 64 GB di RAM, filesystem Ext3, supporto USB, ACPI;
  • Linux 2.6 — dicembre 2003, supporto per SELinux, strumenti per il tuning automatico dei parametri del kernel, sysfs, sistema di gestione della memoria rielaborato;
  • Nel 2005 è stato presentato l'hypervisor Xen, che ha aperto l'era della virtualizzazione;
  • A settembre 2008 è stata rilasciata la prima versione della piattaforma Android, basata sul kernel Linux;
  • A luglio 2011, dopo 10 anni di sviluppo della serie 2.6.x, è stato effettuato il passaggio alla numerazione 3.x. Il numero di oggetti nel repository Git ha raggiunto i 2 milioni;
  • Nel 2015 è stata rilasciata la versione 4.0 del kernel Linux. Il numero di oggetti git nel repository ha raggiunto 4 milioni.
  • Ad aprile 2018, il traguardo di 6 milioni di oggetti git nel repository del kernel è stato superato.
  • A gennaio 2019 è stato creato il ramo del kernel Linux 5.0. Il repository ha raggiunto 6,5 milioni di oggetti git.
  • Il kernel 5.8, pubblicato ad agosto 2020, è diventato il più grande mai esistito in termini di numero di modifiche.
  • Nel kernel 5.13 è stato stabilito il record di 2150 sviluppatori, le cui modifiche sono state integrate nel kernel.
  • Ad agosto 2022, è stata formata la branca del kernel Linux 6.0, poiché nella branca 5.x si erano accumulati un numero sufficiente di rilasci per cambiare il primo numero della versione.
  • Nel kernel 6.1, rilasciato a dicembre 2022, è stata aggiunta la possibilità di utilizzare il linguaggio Rust come secondo linguaggio per lo sviluppo di driver e moduli del kernel.
  • Nel febbraio 2025 è stata raggiunta la soglia di 40 milioni di righe di codice sorgente.

Circa il 65% di tutte le modifiche al kernel è stato apportato da 20 aziende particolarmente attive. Ad esempio, nello sviluppo del kernel 6.16, delle modifiche totali il 11.3% (rispetto al 15.3% nel kernel 6.10 un anno fa) è stato preparato da Intel, il 7.6% (6.9%) da Red Hat, il 6.3% (7.4%) da Google, il 5.6% (6.3%) da Linaro, il 5.4% (4.6%) da AMD, il 3.6% (1.9%) da Qualcomm, il 3.0% (2.5%) da SUSE, il 2.9% (3.2%) da Meta, il 2.6% (3.3%) da Oracle, il 2.4% (2.3%) da Huawei, il 2.4% (1.5%) da NVIDIA, il 2.3% (1.2%) da ARM, e l'1.4% (2.4%) da IBM. Il 15.3% (11.9%) delle modifiche è stato preparato da partecipanti o sviluppatori indipendenti che non hanno dichiarato esplicitamente il loro lavoro per determinate aziende. Per quanto riguarda le righe di codice aggiunte nel kernel 6.16, le aziende leader sono risultate Intel, Red Hat e Google, con una quota rispettivamente del 9.2%, 7.2% e 6.9% (nel kernel 6.10 le aziende erano Intel, Linaro e Red Hat con quote del 13.6%, 13.3% e 7.2%).

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster