Il kernel Linux compie 29 anni

Il 25 agosto 1991, dopo cinque mesi di sviluppo, lo studente ventunenne Linus Torvalds annunciato nel newsgroup comp.os.minix sulla creazione di un prototipo funzionante del nuovo sistema operativo Linux, per il quale è stato segnalato il completamento del porting di bash 1.08 e gcc 1.40. Il primo rilascio pubblico del kernel Linux è stato annunciato il 17 settembre. Nucleo 0.0.1 aveva una dimensione di 62 KB in forma compressa e conteneva circa 10mila righe di codice sorgente. Il moderno kernel Linux ha più di 26 milioni di righe di codice. Secondo uno studio del 2010 commissionato dall’Unione Europea, il costo approssimativo per sviluppare da zero un progetto simile al moderno kernel Linux sarebbe oltre un miliardo Dollari americani (il calcolo è stato effettuato quando il kernel aveva 13 milioni di righe di codice), secondo ad altri stime - oltre 3 miliardi.

Il kernel Linux è stato ispirato dal sistema operativo MINIX, che a Linus non piaceva a causa della sua licenza limitata. Successivamente, quando Linux divenne un progetto ben noto, i malvagi cercarono di accusare Linus di aver copiato direttamente il codice di alcuni sottosistemi MINIX. L'attacco è stato respinto da Andrew Tanenbaum, l'autore di MINIX, che ha incaricato uno dei suoi studenti di condurre un confronto dettagliato tra il codice Minix e le prime versioni pubbliche di Linux. Giudizio la ricerca ha mostrato solo quattro corrispondenze minori di blocchi di codice a causa dei requisiti POSIX e ANSI C.

Linus inizialmente pensava di chiamare il kernel Freax, dalle parole "free", "freak" e X (Unix). Ma il kernel ricevette il nome “Linux” grazie ad Ari Lemmke, che, su richiesta di Linus, mise il kernel su server FTP università, nominando la directory con l'archivio non “freax”, come aveva richiesto Torvalds, ma “linux”. È interessante notare che l'intraprendente uomo d'affari William Della Croce riuscì a registrare il marchio Linux e nel tempo volle riscuotere i diritti d'autore, ma in seguito cambiò idea e trasferì tutti i diritti sul marchio a Linus. Di conseguenza è stata scelta la mascotte ufficiale del kernel Linux, il pinguino Tux concorrenza, tenutasi nel 1996. Il nome Tux sta per Torvalds UniX.

Dinamiche di crescita della codebase (numero di righe di codice sorgente) del kernel:

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

Avanzamento dello sviluppo principale:

  • Linux 0.0.1 - settembre 1991, prima versione pubblica che supporta solo CPU i386 e avvio da floppy;
  • Linux 0.12 - gennaio 1992, il codice iniziò a essere distribuito sotto licenza GPLv2;
  • Linux 0.95 - marzo 1992, ha aggiunto la possibilità di eseguire il sistema X Window, implementato il supporto per la memoria virtuale e una partizione di swap.
  • Linux 0.96-0.99 - 1992-1993, sono iniziati i lavori sullo stack di rete. È stato introdotto il file system Ext2, è stato aggiunto il supporto per il formato di file ELF, sono stati introdotti driver per schede audio e controller SCSI, è stato implementato il caricamento dei moduli del kernel ed è stato implementato il file system /proc.
  • Nel 1992 apparvero le prime distribuzioni di SLS e Yggdrasil. Nell'estate del 1993 furono fondati i progetti Slackware e Debian.
  • Linux 1.0 - marzo 1994, primo rilascio ufficialmente stabile;
  • Linux 1.2 - marzo 1995, un aumento significativo del numero di driver, supporto per le piattaforme Alpha, MIPS e SPARC, capacità di stack di rete ampliate, comparsa di un filtro pacchetti, supporto NFS;
  • Linux 2.0 - giugno 1996, supporto per sistemi multiprocessore;
  • Marzo 1997: viene fondata LKML, la mailing list degli sviluppatori del kernel Linux;
  • 1998: lancio del primo cluster Top500 basato su Linux, composto da 68 nodi con CPU Alpha;
  • Linux 2.2 - gennaio 1999, migliorata efficienza del sistema di gestione della memoria, aggiunto il supporto per IPv6, implementato un nuovo firewall, introdotto 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 di regolazione automatica dei parametri del kernel, sysfs, sistema di gestione della memoria riprogettato;
  • Nel 2005 è stato introdotto l'hypervisor Xen, che ha inaugurato l'era della virtualizzazione;
  • Nel settembre 2008 è stata costituita la prima versione della piattaforma Android basata sul kernel Linux;
  • Nel luglio 2011, dopo 10 anni di sviluppo del ramo 2.6.x implementato passaggio alla numerazione 3.x. Il numero di oggetti nel repository Git ha raggiunto i 2 milioni;
  • Nell'anno 2015 ha avuto luogo rilascio del kernel Linux 4.0. Il numero di oggetti git nel repository ha raggiunto i 4 milioni;
  • Ad aprile 2018 dell'anno superare pietra miliare di 6 milioni di oggetti git nel repository del kernel.
  • Nel gennaio 2019 è stato formato un ramo del kernel Linux 5.0. Il repository ha raggiunto 6.5 milioni di oggetti git.
  • Kernel 2020 pubblicato nell'agosto 5.8 era il più grande in termini di numero di modifiche di tutti i kernel durante l'intera esistenza del progetto.

Fonte: opennet.ru

Aggiungi un commento