Da Multics a Unix
Nel 1965, nei laboratori della Bell, una divisione AT&T, veniva aperto un progetto chiamato Multics (Multiplexed Information
and Computing Service) che vedeva la collaborazione di General Electric e del MIT (Massachusetts Institute of Technology) per trovare
una soluzione capace di gestire centraline telefoniche, sistemi di calcolo multiutente con costi ridotti. Nonostante le buone intenzioni,
problemi di budget decretarono la fine del progetto ma questo non fermò Ken Thompson e Dennis Ritchie che in seguito all'esperienze
fatte precedentemente continuarono a lavorare su un progetto loro.
|
Figura 3.1: Ritchie e Thompson in foto recenti |
La scelta si trovò difronte ad evidenti problemi di sorta, ovvero la necessità di trovare un calcolatore per portare
avanti il progetto. Venne preparato un piano di sponsorizzazioni ma questo fu rifiutato e le voci di corridoio dicono che Bill Baker,
il vice-presidente dei Bell Labs, esclamò:
"Bell Labs just doesn't do business this way!"
Era un progetto molto vago sotto l'aspetto economico e non fu abbastanza convincente per ricevere i fondi necessari, là dove
era già stata decretata la fine di Multics in precedenza. Ritchie e Thompson non si persero d'animo, prepararono un prospetto
del sistema operativo e lo distribuirono tramite l'ufficio stampa dei Bell Labs ad un ampio numero di ricercatori. Questo scatto ebbe
i suoi frutti e venne trovato un piccolo e usato PDP-7 da utilizzare per la sperimentazione e lo sviluppo del progetto. L'estate
del '69 fu interamente dedicata a realizzare una bozza significativa per iniziare i lavori del progetto.
Nel 1970 fu battezzato Unix da Brian Kernighan, come gioco di parole con Multics, e fu sottoposto un prospetto a due responsabili
dei dipartimenti di ricerca per l'acquisto di un PDP-11; Doug McIlroy e Lee McMahon furono di fondamentale importanza e una volta trovati
i fondi necessari fu possibile acquistare il calcolatore per il progetto. Il porting di Unix dal PDP-7 al PDP-11 venne fatto tramite
due terminali Teletype 33 e rapidamente attrasse a sè credibilità nei confronti degli altri dipartimenti di ricerca. Sulla
spinta del successo fu ulteriormente proposto di acquistare un nuovo sistema PDP-11/45 e quest'ultima non ebbe problemi a concretizzarsi.
|
Figura 3.2: Ritchie e Thompson difronte al PDP |
In origine tutto il sistema operativo era scritto in linguaggio assembly. Era necessario trovare una soluzione per rendere questo iniziale
sistema operativo portabile su altri calcolatori in maniera semplice. Ken Thompson inventò invece un linguaggio chiamato B, che
fu influenzato da un altro linguaggio chiamato BCPL (Basic Combined Programming Language, ideato da Martin Richards presso l'università
di Cambridge.). Nel 1971 cominciò il lavoro al linguaggio che sarebbe diventato il C, un passo evolutivo che svincolava il linguaggio
dal precedente calcolatore utilizzato per lo sviluppo.
Nel 1973 il kernel di Unix fu riscritto in C e poteva funzionare su dieci macchine. Nell'ottobre del 1973, Thompson e Ritchie presentarono
un paper al Symposium for Operating System Principles e l'interesse per il sistema esplose. All'epoca, la AT&T era indagata per
comportamenti monopolistici e le fu ordinato di rimanere fuori dall'industria dei computer; i suoi legali decisero che sarebbe stato
giusto permettere alle università di disporre del sistema operativo alle condizioni dettate dalla stessa compagnia che in buona
parte si sintetizzavano nella totale assenza di assistenza tecnica. Ciò costrinse gli utenti a riunirsi per potersi prestare
assistenza reciprocamente, rinforzando i valori che all'inizio avevano portato alla creazione del sistema. Ma una tradizione di condivisione
non avrebbe impedito che nella comunità degli utenti si formassero profonde divisioni - e due delle prime, a quel tempo stavano
proprio per nascere. Nel 1975 Ken Thompson ritornò all'Università della California a Berkeley, e portò Unix con
sé. Là due dottorandi, Chuck Haley e Bill Joy, fecero il porting del sistema Pascal, al quale Thompson aveva lavorato,
ad uno stato in cui poteva essere utilizzato, e crearono l'editor di testi vi. Nacque così la Berkeley System Distribution
di Unix o più semplicemente BSD Unix, una soluzione che veniva distribuita su nastro su richiesta. Le stesse intenzioni
erano ben lontane dagli scopi commerciali; la diffusione di BSD Unix, come affermò Joy, era un modo per ampliare la base degli
utenti e avere maggior feedback e così fu.
Nel corso degli anni BSD Unix venne continuamente migliorato e ampliato. La "Second Berkeley Software Distribution" (2BSD)
era pronta nel 1978 e a questa susseguì una nuova versione nel dicembre 1979, la 3BSD. Quest'ultima venne particolarmente apprezzata
all'interno degli ambienti scientifici e universitari. Grazie a Bob Fabry viene ricevuto un ingente finanziamento dal progetto DARPA
(Defense Advanced Research Project Agency) volto a migliorare e sviluppare le funzionalità di rete del sistema operativo. Nel
1980 vengono rilasciate le distribuzioni 4BSD e 4.1BSD, il primo sostanzioso passo nel ramo networking su TCP/IP.
Nella metà degli Anni Settanta Unix stava crescendo rapidamente, ma veniva spesso sottovalutato in rapporto a soluzioni presenti.
Nel 1978 la DEC mise in commercio VAX, che era il successore del PDP-11, la culla di Unix. Questi calcolatori si diffusero rapidamente
e il loro sistema operativo proprietario, il VMS, fu largamente sostituito da Unix, specialmente dopo l'uscita del BSD 4.2 nel 1982.
AT&T nel 1984 fondò la propria divisione computer e vennero delineati alcuni prodotti da offrire sul mercato, tra questi
Unix System V che girava su calcolatori 3B della stessa compagnia. Nello stesso anno Bill Joy lasciò l'università e fondò
la Sun Microsystems, compagnia che produceva calcolatori con incluso BSD Unix e il supporto per TCP/IP. Fu una scelta strategica quella
di allegare il software al proprio hardware senza costi aggiuntivi. Il mercato aveva alta profittabilità e rapidamente accorsero
nuovi concorrenti come Convex, Multiflow, Masscomp, Silicon Graphics, Pyramid, Stardent e NeXT. Era l'epoca dei killer micros,
come furono chiamati, soluzioni hardware più veloci e meno costose dei minicomputer e corredate da sistemi Unix e Unix-like.
I produttori di workstation distrussero il mercato dei minicomputer e poi cominciarono a farsi guerra tra loro. Unix si era spostato
al centro dell'attenzione seppure ogni produttore offrisse la propria versione del sistema operativo. Alcune di queste erano basate
sullo stile che si era sviluppato intorno al BSD, mentre altre si richiamavano all'USG System V Release 4 (SVR4) della AT&T.
|