Il kernel di Linux compie 30 anni.

Il 25 agosto 1991, dopo cinque mesi di sviluppo, il ventunenne Linus Torvalds annunciò nella conferenza telematica comp.os.minix la creazione di un prototipo funzionante di un nuovo sistema operativo, Linux, per il quale venne segnata la conclusione del porting di bash 1.08 e gcc 1.40. La prima versione pubblica del kernel di Linux fu rilasciata il 17 settembre. Il kernel 0.0.1 aveva una dimensione di 62 KB compresso e conteneva circa 10.000 righe di codice sorgente. Il moderno kernel di Linux conta oltre 28 milioni di righe di codice. Secondo una ricerca commissionata dall'Unione Europea nel 2010, il costo approssimativo per sviluppare da zero un progetto simile all'attuale kernel di Linux sarebbe superiore a un miliardo di dollari statunitensi (questa stima fu calcolata quando il kernel conteneva 13 milioni di righe di codice); altre stime parlano di oltre 3 miliardi.

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.

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, aumentata l'efficienza del sistema di 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.
  • Nel 2021, nel ramo del kernel Linux-next è stato aggiunto il codice per lo sviluppo di driver in Rust. È in corso il lavoro per includere i componenti di supporto per Rust nel kernel principale.

Il 68% di tutte le modifiche al kernel proviene dalle 20 aziende più attive. Ad esempio, nello sviluppo del kernel 5.13, il 10% di tutte le modifiche è stato preparato da Intel, il 6,5% da Huawei, il 5,9% da Red Hat, il 5,7% da Linaro, il 4,9% da Google, il 4,8% da AMD, il 3,1% da NVIDIA, il 2,8% da Facebook, il 2,3% da SUSE, il 2,1% da IBM, l'1,9% da Oracle, l'1,5% da ARM e l'1,4% da Canonical. Il 13,2% delle modifiche è stato preparato da partecipanti indipendenti o sviluppatori che non hanno chiaramente dichiarato di lavorare per società specifiche. L'1,3% delle modifiche è stato preparato da studenti, dottorandi e rappresentanti di istituti di istruzione. Per quanto riguarda il numero di righe di codice aggiunte al kernel 5.13, il leader è AMD, con una quota del 20,2% (il driver amdgpu conta circa 3 milioni di righe di codice, circa il 10% delle dimensioni complessive del kernel — 2,4 milioni di righe provengono da file di intestazione generati automaticamente con dati per i registri GPU).

Fonte: opennet.ru

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