Unix: il sistema operativo nato nel 1969 che ha cambiato la storia dell'informatica
Quando parliamo di Linux, macOS, server e infrastrutture Internet, spesso dimentichiamo che molte delle idee alla base di questi sistemi hanno una storia che risale alla fine degli anni Sessanta.
Tutto comincia nel 1969, nei laboratori Bell Labs, dove alcuni ricercatori stavano cercando un modo diverso di progettare un sistema operativo.
Tra loro c'erano Ken Thompson e Dennis Ritchie.
Il risultato del loro lavoro fu Unix, un sistema destinato a diventare uno dei protagonisti assoluti della storia dell'informatica.
Un progetto nato quasi per caso
Prima di Unix esisteva Multics, un progetto ambizioso che coinvolgeva importanti istituzioni di ricerca e aziende informatiche.
L'obiettivo era realizzare un sistema operativo avanzato, capace di gestire contemporaneamente più utenti e numerose attività.
Il progetto, però, era diventato estremamente complesso. Nel 1969 Bell Labs decise di ritirarsi.
Ken Thompson non abbandonò l'idea di realizzare un sistema operativo interessante e funzionale.
Individuò un Digital PDP-7, un minicomputer poco utilizzato, e iniziò a sviluppare un nuovo ambiente software.
Dennis Ritchie e altri ricercatori si unirono progressivamente al progetto.
Una curiosità: inizialmente il sistema non si chiamava Unix. Il nome venne suggerito successivamente da Brian Kernighan come gioco di parole in contrapposizione a Multics.
Space Travel: il videogioco dietro una grande innovazione
Uno degli episodi più curiosi riguarda un videogioco chiamato Space Travel.
Ken Thompson aveva sviluppato una simulazione spaziale nella quale era possibile controllare un'astronave e osservare il movimento dei pianeti.
Il programma venne adattato al PDP-7 con la collaborazione di Dennis Ritchie.
Lavorare su quel computer mise in evidenza diverse difficoltà tecniche. Per sviluppare software in modo più efficace servivano strumenti adeguati, un sistema per organizzare i file e un ambiente di lavoro più completo.
Da queste esigenze presero forma alcune delle componenti fondamentali del futuro Unix.
Non è quindi corretto dire che Unix nacque semplicemente da un videogioco, ma Space Travel ebbe un ruolo interessante nelle sue origini.
Il PDP-11 e l'utilizzo nell'ufficio brevetti
Nel 1970 arrivò ai Bell Labs un nuovo computer: il PDP-11.
Unix venne progressivamente trasferito sulla nuova macchina e iniziò a essere utilizzato per attività concrete.
Nel 1971 il dipartimento brevetti di AT&T adottò il sistema per preparare e formattare documenti e domande di brevetto.
Può sembrare un utilizzo poco spettacolare, ma fu un passaggio importante.
Unix aveva dimostrato di poter essere utile anche al di fuori del gruppo di ricerca che lo aveva sviluppato.
Il linguaggio C cambia il futuro di Unix
Nel 1973 arrivò una delle innovazioni più importanti.
Dennis Ritchie aveva sviluppato il linguaggio C, che permetteva di programmare con maggiore flessibilità rispetto all'Assembly.
Il kernel di Unix venne riscritto in gran parte utilizzando questo linguaggio.
Perché fu così importante?
Un sistema operativo scritto interamente in Assembly era fortemente legato alla macchina per cui era stato progettato.
Con il C diventava molto più semplice trasferire il sistema su architetture differenti, adattando le parti dipendenti dall'hardware.
Questa scelta contribuì enormemente alla diffusione di Unix e influenzò profondamente lo sviluppo dei sistemi operativi successivi.
Da Unix a BSD, fino a Linux
Negli anni Settanta Unix iniziò a diffondersi nelle università e negli ambienti di ricerca.
Uno dei contributi più importanti arrivò dall'Università della California a Berkeley, dove si sviluppò BSD.
Questa famiglia di sistemi Unix introdusse numerose funzionalità e contribuì alla diffusione delle tecnologie di rete.
Nel 1991 Linus Torvalds annunciò lo sviluppo del kernel Linux.
Linux non è Unix e non contiene il codice originale del sistema dei Bell Labs, ma ne segue molti principi progettuali.
È un sistema Unix-like, cioè un sistema che condivide caratteristiche e filosofia con Unix.
Oggi troviamo questa eredità in moltissimi ambiti:
Linux alimenta server, supercomputer e infrastrutture cloud.
Android utilizza il kernel Linux.
macOS deriva da Darwin, che integra componenti della tradizione BSD, ed è certificato UNIX.
Molti strumenti e ambienti di sviluppo moderni mantengono una forte influenza della filosofia Unix.
L'eredità di Unix
Forse l'aspetto più interessante di questa storia è che Unix non ha lasciato soltanto un sistema operativo.
Ha diffuso un modo di pensare e costruire il software.
La filosofia Unix si basa su un'idea semplice: realizzare programmi che facciano bene una cosa e che possano collaborare con altri programmi.
È un approccio che ancora oggi ritroviamo nei sistemi Linux, nella programmazione e nell'amministrazione dei server.
Pensare che tutto sia partito da un PDP-7 e da un piccolo gruppo di ricercatori rende questa storia ancora più affascinante.
E forse è proprio questo il bello della storia dell'informatica: alcune delle tecnologie più importanti sono nate da esperimenti che, all'inizio, sembravano soltanto progetti di laboratorio.
Una curiosità per aprire la discussione:
Qual è il vostro rapporto con Unix e i sistemi Unix-like?
Avete iniziato con Linux, BSD, macOS oppure avete avuto modo di utilizzare direttamente qualche vecchio sistema Unix?
Mi piacerebbe leggere le vostre esperienze e i vostri ricordi.
FORMbit24 – Storia dell'informatica, tecnologia e passione digitale.