Il kernel Linux ha compiuto 33 anni

Il 25 agosto 1991, dopo cinque mesi di sviluppo, il giovane studente Linus Torvalds annunciò in una conferenza telematica su comp.os.minix la creazione di un prototipo funzionante di un nuovo sistema operativo Linux, per il quale era stato segnato il completamento del porting di bash 1.08 e gcc 1.40. La prima versione pubblica del kernel Linux è stata presentata il 17 settembre. Il kernel 0.0.1 aveva una dimensione di 62 KB compressi e conteneva circa 10.000 righe di codice sorgente. L'attuale kernel Linux conta oltre 35 milioni di righe di codice. Secondo uno studio condotto nel 2010 su commissione dell'Unione Europea, il costo approssimativo per sviluppare da zero un progetto simile all'attuale kernel Linux supererebbe il miliardo di dollari USA (il calcolo è stato effettuato quando il kernel contava 13 milioni di righe di codice), mentre 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 limitata. Successivamente, quando Linux divenne un progetto noto, i detrattori tentarono di accusare Linus di aver copiato direttamente il codice di alcuni sottosistemi di MINIX. La difesa fu fornita da Andrew Tanenbaum, autore di MINIX, che incaricò uno degli studenti di condurre un confronto dettagliato tra il codice di Minix e le prime versioni pubbliche di Linux. I risultati dello studio mostrarono solo quattro coincidenze insignificanti di blocchi di codice, dovute ai requisiti di POSIX e ANSI C.

Inizialmente, Linus pensava di chiamare il kernel Freax, dalle parole 'free', 'freak' e X (Unix). Ma il nome 'Linux' fu dato al kernel grazie a Ari Lemke, che su richiesta di Linus pubblicò il kernel su un server FTP dell'università, chiamando la directory con l'archivio non 'freax', come richiesto da Torvalds, ma 'linux'. È degno di nota che il commerciante intraprendente William Della Croce riuscì a registrare il marchio Linux e desiderava nel tempo raccogliere diritti d'autore, ma in seguito cambiò idea e trasferì tutti i diritti sul marchio a Linus. La mascotte ufficiale del kernel Linux, il pinguino Tux, fu scelta in seguito a un concorso tenutosi nel 1996. Il nome Tux è un acronimo di Torvalds UniX.

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

  • 0.0.1 — settembre 1991, 10 mila righe di codice;
  • 1.0.0 — marzo 1994, 176 mila righe di codice;
  • 1.2.0 — marzo 1995, 311 mila righe di codice;
  • 2.0.0 — giugno 1996, 778 mila 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.

Progresso dello sviluppo del kernel:

  • Linux 0.0.1 — settembre 1991, prima versione pubblica, che 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 garantita la possibilità di eseguire X Window System, realizzata la gestione della memoria virtuale e della swap.
  • Linux 0.96-0.99 — 1992-1993, iniziò il lavoro sullo stack di rete. Fu presentato il file system Ext2, aggiunta 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 file system /proc.
  • Nel 1992 apparvero i primi distribuzioni SLS e Yggdrasil. Nell'estate del 1993 furono fondati i progetti Slackware e Debian.
  • Linux 1.0 — marzo 1994, prima release ufficialmente stabile;
  • Linux 1.2 — marzo 1995, significativo aumento del numero di driver, supporto per le piattaforme Alpha, MIPS e SPARC, ampliamento delle capacità dello stack di rete, introduzione di un filtro pacchetti, supporto NFS;
  • Linux 2.0 — giugno 1996, supporto per sistemi multiprocessore;
  • Marzo 1997: fondato LKML, la mailing list degli sviluppatori del kernel Linux;
  • 1998: lanciato il primo cluster basato su Linux presente nella lista Top500, composto da 68 nodi con CPU Alpha;
  • Linux 2.2 — gennaio 1999, aumentata l'efficienza del sistema di gestione della memoria, aggiunta la compatibilità 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, file system Ext3, supporto USB, ACPI;
  • Linux 2.6 — dicembre 2003, supporto SELinux, strumenti per la regolazione automatica dei parametri del kernel, sysfs, sistema di gestione della memoria ristrutturato;
  • Nel 2005 fu presentato l'hypervisor Xen, che aprì l'era della virtualizzazione;
  • Nel settembre 2008 venne rilasciata la prima versione della piattaforma Android, basata sul kernel Linux;
  • Nel luglio 2011, dopo 10 anni di sviluppo del ramo 2.6.x, si è effettuato il passaggio alla numerazione 3.x. Il numero di oggetti nel repository Git ha raggiunto 2 milioni;
  • Nel 2015 è stata rilasciata la versione del kernel Linux 4.0. Il numero di oggetti Git nel repository ha superato i 4 milioni;
  • Ad aprile 2018 è stata superata la soglia di 6 milioni di oggetti Git nel repository del kernel.
  • A gennaio 2019 è stato formato il ramo del kernel Linux 5.0. Il repository ha raggiunto il livello di 6,5 milioni di oggetti Git.
  • Il kernel 5.8, pubblicato nell'agosto 2020, è diventato il più grande per numero di modifiche di tutti i kernel nella storia del progetto.
  • Nel kernel 5.13 è stato registrato un record per il numero di sviluppatori (2150), le cui modifiche sono state incluse nel kernel.
  • Nell'agosto 2022 è stato formato il ramo del kernel Linux 6.0, poiché nel ramo 5.x si erano accumulati sufficienti rilasci per cambiare il primo numero nel numero di 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.

Circa il 65% di tutte le modifiche al kernel è stato apportato dalle 20 aziende più attive. Ad esempio, per lo sviluppo del kernel 6.10, il 15.3% di tutte le modifiche (nel kernel 6.9 era il 12.9%) è stato preparato da Intel, il 7.4% (7.1%) da Google, il 6.9% (5.6%) da Red Hat, il 6.3% (6.4%) da Linaro, il 4.6% (5.7%) da AMD, il 3.3% (2.2%) da Oracle, il 3.2% (2.9%) da Meta, il 2.5% (3.2%) da SUSE, il 2.4% (2.1%) da IBM, il 2.3% (2.4%) da Huawei, l'1.9% (2.1%) da Qualcomm, l'1.5% (1.7%) da NVIDIA, l'1.2% (1.2%) da ARM. L'11.9% (nel kernel 6.9 era il 14.2%) delle modifiche è stato preparato da partecipanti indipendenti o sviluppatori che non hanno dichiarato esplicitamente la loro affiliazione a determinate aziende. Per quanto riguarda le righe di codice aggiunte nel kernel 6.10, le aziende leader sono state Intel, Linaro e Red Hat, con quote del 13.6%, 13.3% e 7.2% (nel kernel 6.9, le prime erano AMD, Red Hat e Intel, con quote del 21.7%, 11.5% e 8.9%).

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