Questa testata è partner di La Repubblica e contribuisce alla sua audience
Hot topics:
11 minuti

Storia di Linux

Speciale dedicato alla storia di Linux, il Kernel unix-like che ha contributo a rivoluzionare il concetto stesso di sistema operativo open source.

Storia di Linux

Sul finire di agosto abbiamo festeggiato il 25esimo anniversario di Linux, quindi l'occasione è propizia per dedicare uno speciale alla storia di questo Kernel unix-like che ha contributo a rivoluzionare il concetto stesso di sistema operativo open source.

Prima di continuare, è fondamentale chiarire sin da subito che Linux è "solo" il Kernel del sistema operativo, mentre il nome corretto di quello che comunemente chiamiamo "Linux" è invece GNU/Linux.

Tux, Linux logo
Tux, Linux logo

Le origini

Il nostro viaggio inizia nel 1991 in Finlandia, dove il giovane studente universitario Linus Torvalds, insoddisfatto di MINIX, il sistema operativo sviluppato da Andrew Tanenbaum per insegnare UNIX al corso di Sistemi di Rete all'università di Amsterdam, decide di realizzare una propria soluzione che gli consenta di esplorare tutte le potenzialità offerte dall'hardware a sua disposizione.

Linus Torvalds nei primi anni '90
Linus Torvalds nei primi anni '90

MINIX ha un supporto decisamente carente alla nuova architettura i386 a 32 bit, soprattutto per quel che riguarda le periferiche di input-output, ed ha inoltre una politica di licensing particolarmente limitativa che ne impedisce le modifiche.

Così Torvalds si mette al lavoro per realizzare un emulatore di terminale (scritto in C e Assembly) eseguibile senza alcun sistema operativo e finalizzato, principalmente, a due operazioni: mandare e ricevere segnali alla/dalla porta seriale attraverso due processi separati (thread, per la precisione).

Per farsi supportare nello sviluppo, Torvalds rende pubblico il progetto proprio sul newsgroup dedicato a MINIX, comp.os.minix, scrivendo il famoso messaggio del 25 agosto 1991 che segna ufficialmente la nascita di Linux:

La mail che annuncia la nascita di Linux
La mail che annuncia la nascita di Linux

La prima versione (v. 0.01) viene resa disponibile il 17 settembre 1991, insieme alla shell GNU Bash che consente di impartire i pochi comandi a disposizione. Il tutto è sviluppato su MINIX e compilabile grazie al compilatore GNU C. MINIX è quindi ancora indispensabile per configurare, compilare, installare e avviare Linux anche a causa dell'utilizzo diretto del relativo file system.

Il giovane Torvalds si appassiona al progetto e presto sviluppa un primo embrione di file system (per compatibilità similare a quello di MINIX) consentendo di spezzare le ultime dipendenze da MINIX (v. 0.11) e avviare la trasformazione del "terminale" in un vero e proprio Kernel basato su specifiche POSIX. Bisognerà comunque aspettare ancora quasi un anno finché Rémy Card progetti l'Extended File Sytem (ext), il primo specificamente pensato per Linux ed esente dai vincoli di compatibilità con MINIX.

Con i differenti rilasci arriva anche il nome ufficiale "Linux" (LINus UniX). La scelta è da attribuire ad Ari Lemke, assistente alla Helsinki University of Technology, che lo utilizza come nome della directory messa a disposizione per il progetto (su ftp.funet.fi). Il nome originariamente scelto da Torvalds era invece Freax, una combinazione tra "free", "freak" e "x", ad indicare le caratteristiche Unix-like del sistema.

Il progetto riscuote un interesse crescente e Linus decide di associargli la licenza GPL (GNU General Public License), trasformandolo nella soluzione "libera ed aperta" che tutti conosciamo. Probabilmente nessuno all'epoca poteva prevedere che questa caratteristica sarebbe diventata la premessa per il grande successo negli anni a venire.

A febbraio del 1992, l'hacker Orest Zborowski riesce a far girare il server X (Window) sulla versione 0.12, implementando una patch che introduce l'indispensabile struttura degli Unix Domain Socket: viene così a strutturarsi il primo livello di socket, alla base di quella che diventerà l'infrastruttura di supporto alle reti di Linux. Ad onore del vero, questa prima implementazione è poco efficiente e mal integrata nel resto del sistema, ma Linus valida la patch e promuove Linux dalla versione 0.13 alla 0.95 rendendo ufficiale il supporto sia ad X che alle Reti.

La scelta di Torvalds è decisamente affrettata, probabilmente spinta dall'euforia di rendere Linux il cuore di un "vero" sistema operativo, sottovalutando tutti i problemi di sicurezza che il supporto e l'apertura alle Reti avrebbe comportato. Il progetto paga cara questa superficialità, e, per rimediare a tutti i problemi annessi, occorrono addirittura due anni, costringendo persino ad utilizzare una numerazione modificata per indicare il livello di patch: viene sfruttato un ulteriore livello numerico unitamente alle lettere dell'alfabeto (es: v. 0.99.15Z, v.0.99/15° livello di patch/revisione Z).

Arriva Linux 1.0 e nasce GNU/Linux

Il 14 marzo 1994, il 16° livello di patch del kernel 0.99 diventa Linux 1.0 e viene presentato ufficialmente presso l'Università di Helsinki, anche se, nel frattempo, il suo utilizzo è già iniziato grazie all'integrazione con il progetto GNU. Inizialmente viene supportata solo l'architettura i386, mentre con la versione 1.2 (7 marzo 1995) arriva il supporto per i sistemi basati su architetture Alpha, SPARC, e MIPS.

image4Come più volte evidenziato, infatti, Linux è il Kernel del sistema operativo GNU/Linux. La domanda a questo punto è lecita: quando è nato, quindi, realmente quello che oggi chiamiamo sistema operativo Linux e che più correttamente va chiamato sistema operativo GNU/Linux?

Facciamo un altro passo indietro evidenziando come il Progetto GNU (GNU is Not Unix) nasce ben prima di Linux, nel lontano 1984, sulla base di una specifica filosofia "aperta" descritta nello GNU Manifesto in cui viene stabilito l'obiettivo di sviluppare un sistema libero simile a Unix e chiamato GNU. Ad annunciare il progetto è Richard Stallman del MIT.

Richard Stallman
Richard Stallman

Negli anni seguenti vengono realizzati diversi componenti portanti dello stesso: dal compilatore, alla shell, fin anche all'editor di testo. Il problema è che agli inizi degli anni '90 il Kernel è ancora incompleto e inaffidabile: il previsto GNU Hurd, basato su Mach (sviluppato presso la Carnegie Mellon University) è estremamente complicato, tanto che la prima versione stabile sarà rilasciata solo nel 2001.

In questo scenario, la decisione di Torvalds di rilasciare Linux come software libero è una boccata di ossigeno, consentendo di risolvere il problema e rendere disponibile un vero sistema libero e completo, nato dall'unione di GNU e Linux: il sistema GNU/Linux appunto.

L'integrazione non è delle più semplici, tanto che diverse parti di GNU (come ad esempio la libreria GNU C) vengono modificate per funzionare con Linux, così come molte risorse vengono spese per rendere il sistema "pronto all'uso", soprattutto perché questioni come l'installazione e la gestione del boot non erano ancora state affrontate.

image6

Con la disponibilità pubblica arriva anche il logo ufficiale di Linux, il Pinguino TUX disegnato nel 1996 da Larry Ewing. Se il soggetto è una scelta diretta di Torvalds, sulle origini del nome ci sono pareri contrastanti: il più accreditato è che si tratti di un'abbreviazione di Torvalds UniX, mentre altre fonti sostengono si tratti dell'abbreviazione di TUXedo, che in inglese significa "giacca e cravatta", con riferimento alla colorazione del corpo del pinguino.

Sin dalle prime versioni, il sistema GNU/Linux viene fornito "pronto all'uso" tramite molteplici distribuzioni (o distro), realizzate da differenti produttori che lo personalizzano scegliendo i componenti specifici, il software applicativo e, in diversi casi, aggiungendo anche software proprietario. Ovviamente è sempre possibile installare i diversi pacchetti disponibili grazie ai cosiddetti Package Management System (PMS) o compilando direttamente i sorgenti.

Vale la pena citare che una delle primissime distribuzioni Linux è stata Softlanding Linux System, forse non la prima in assoluto ma sicuramente quella che ha catturato il maggior numero di utenti e che oggi è considerata di ispirazione alla veterana Slackware, nata nel 1993 e mantenuta tutt'ora dal suo creatore Patrick Volkerding.

Softlanding Linux System
Softlanding Linux System
Continua a pagina 2
AREE TEMATICHE
Vuoi ricevere aggiornamenti su #Software?
Iscriviti alla newsletter!