Iscrizione Newsletter
Per ricevere periodicamente la nostra newsletter iscriviti inserendo il tuo indirizzo e-mail. Attenzione: il servizio è attivo solo per le caselle @campus.rieti.it rilasciate con la University Card.
| E un agosto di quarant'anni fa l'informatica cambiò volto |
|
|
|
| Attualità |
| Lunedì 31 Agosto 2009 |
Unix compie 40 anni. Passato, presente e futuro di un sistema operativo rivoluzionarioFonte: Network World di Emanuela Zerbinatti Un'estate di 40 anni fa un programmatore si mise seduto davanti al proprio terminale e scrisse in un mese quello che sarebbe diventato uno dei più importanti pezzi di software mai creati. Nell’agosto del 1969, Ken Thompson, un programmatore presso i Bell Laboratories di AT&T, approfittò del mese di ferie al mare della moglie e del figlio per mettere in pratica alcune sue idee circa un nuovo sistema operativo. Quell'agosto di quarant'anni fa Thompson scrisse la prima versione di Unix in linguaggio assembly per un modesto minicomputer PDP-7 di Digital Equipment (DEC), spendendo una settimana per ciascuno dei componenti: sistema operativo, shell, editor e assembler. Thompson e un collega, Dennis Ritchie, avevano da poco subito la decisione dei Bell Labs di rinunciare a un travagliato progetto di sviluppo di un sistema time-sharing chiamato Multics (Multiplexed Information and Computing Service). Ma non volevano più avere a che fare con nessuno dei sistemi operativi batch che predominavano a quel tempo, né volevano reinventare Multics, che giudicavano grottesco e poco maneggevole. Dopo aver proposto alcune idee per un nuovo sistema, Thompson scrisse quella prima versione di Unix, che la coppia avrebbe continuato a sviluppare nel corso degli anni successivi con l’aiuto dei colleghi Doug McIlroy, Joe Ossanna e Rudd Canaday. Alcuni dei principi di Multics furono mutuati nel nuovo sistema operativo, ma la bellezza di Unix risiedeva allora (se non anche tuttora) nella filosofia che “poco è meglio”. “Un potente sistema operativo per l’uso interattivo non deve essere costoso né in termini di hardware né in sforzo umano”, avrebbero scritto Ritchie e Thompson cinque anni più tardi in Communications of the ACM (CACM), il giornale della Association for Computing Machinery. “Speriamo che gli utenti di Unix si rendano conto che le più importanti caratteristiche del sistema sono la sua semplicità, la sua eleganza e la sua facilità d’uso”. Sembra che le cose siano andate proprio così. Unix è diventato una pietra miliare dell’IT, largamente impiegato per server e workstation nelle università, nelle pubbliche amministrazioni e nelle aziende. E la sua influenza va anche più lontano rispetto alle sue effettive implementazioni, come l’ACM ha osservato nel 1983, quando ha consegnato a Ritchie e Thompson il suo più ambito premio, il Turing Award per i contributi all’IT: “Il modello del sistema Unix ha condotto una generazione di progettisti di software a nuovi modi di pensare la programmazione”. Naturalmente il successo di Unix non è arrivato tutto in una volta. Nel 1971 il sistema operativo è stato portato su un minicomputer PDP-11, una piattaforma più potente rispetto al PDP-7 per il quale originariamente era stato scritto. Sono stati aggiunti programmi per l’editing e la formattazione del testo ed è stato utilizzato da alcuni dattilografi nel dipartimento Bell Labs Patent, i suoi primi effettivi utenti al di fuori del team di sviluppo. Nel 1972, Ritchie ha scritto il linguaggio di programmazione di alto livello C (basato sul precedente linguaggio B di Thompson). Successivamente, Thompson ha riscritto Unix in C, aumentando notevolmente la portabilità del sistema operativo in diversi ambienti di calcolo. Lungo il percorso è stato battezzato Unics (Uniplexed Information and Computing Service), una rima di Multics. Ma poi il nome è diventato più semplicemente Unix. Era giunto il momento di diffondere la parola. L’articolo del CACM di Ritchie e Thompson del luglio 1974 'The UNIX Time-Sharing System' fu come una tempesta per il mondo IT. Fino ad allora, l’utilizzo di Unix era stato limitato a una manciata di utenti nei Bell Labs. Ma da quel momento, con l’Association for Computing Machinery alle spalle, Unix era giunto a un punto di svolta. “L’articolo del CACM ebbe un fortissimo impatto”, ha scritto lo storico Peter Salus nel suo libro The Daemon, the Gnu and the Penguin. “Molto presto, Ken è stato inondato di richieste per Unix”. Thompson e Ritchie erano consumati 'hacker', quando questo termine indicava qualcuno che combinava creatività fuori dal comune, intelligenza e scaltrezza per risolvere problemi software di cui altri conoscevano a malapena l’esistenza. Il loro approccio, e il codice che hanno scritto, è stato alquanto apprezzato dai programmatori nelle università, e poi nelle start-up IT prive dei mega-budget di IBM, Hewlett-Packard o Microsoft. Unix era tutto quello che altri hacker, come Bill Joy dell’Università della California, Rick Rashid della Carnegie Mellon University e successivamente a David Korn dei Bell Labs, potessero desiderare. “Quasi sin dall’inizio, il sistema è stato in grado di mantenere se stesso, ed è ciò che ha fatto”, hanno scritto Thompson e Ritchie nell’articolo del CACM. “Dato che tutti i sorgenti dei programmi sono sempre stati disponibili e facilmente modificabili online, siamo stati disposti a rivedere e riscrivere il sistema e il suo software quando nuove idee sono state inventate, scoperte o proposte da altri.” Korn, oggi un Fellow di AT&T, ha lavorato come programmatore ai Bell Labs nel 1970. “Una delle caratteristiche di Unix era che gli strumenti potevano essere scritti, e che strumenti migliori potevano sostituirli”, ricorda. “Non era un monolite da prendere nella sua interezza, si potevano sviluppare versioni migliori”. Korn ha sviluppato la influente 'Korn shell', in sostanza un linguaggio di programmazione per governare le operazioni di Unix, ora disponibile come software open source. L’autore e storico della tecnologia Salus ricorda il suo lavoro con il linguaggio di programmazione APL su un mainframe IBM System/360, quando era professore all’Università di Toronto negli Anni 70. Non stava andando bene. Ma il giorno dopo Natale, nel 1978, un amico della Columbia University gli diede una dimostrazione di Unix in esecuzione su un minicomputer. “Ho detto, ‘Oh mio Dio’ ed è stata una conversione assoluta”, afferma Salus. Salus sottolinea che per lui il vantaggio chiave di Unix era la funzionalità 'pipe', introdotta nel 1973, che rendeva facile passare l’output di un programma a un altro programma. Il concetto di pipeline, inventato da McIlroy dei Bell Labs, successivamente è stato copiato da molti sistemi operativi, tra cui tutte le varianti di Unix, Linux, DOS e Windows. Un altro vantaggio di Unix – il secondo “wow”, come lo definisce Salus - era che non serviva un mainframe da un milione di dollari per eseguirlo. È stato scritto per il piccolo e primitivo minicomputer DEC PDP-7, perché era tutto quello su cui Thompson e Ritchie avevano potuto mettere le mani nel 1969. “Il PDP-7 era in grado di fare quasi nulla”, ricorda Salus. “Sono rimasto rapito”. Anche molti altri sono rimasti rapiti. I ricercatori universitari hanno adottato Unix in massa perché relativamente semplice e facilmente modificabile, non troppo impegnativo nel suo fabbisogno di risorse, e il codice sorgente essenzialmente libero. Start-up di allora come Sun Microsystems e una serie di società ormai tramontate specializzate nel calcolo scientifico, come Multiflow Computer, lo adottarono per le medesime ragioni. Unix è cresciuto come un sistema non proprietario, perché nel 1956 ad AT&T fu ingiunto da un decreto federale di non ampliare il campo delle proprie attività oltre i servizi telefonici. Era concesso sviluppare software, e anche offrirlo in licenza per un modesto canone, ma all’azienda fu impedito di entrare nel business dei computer. Unix, che è stato sviluppato senza incoraggiamento da parte del management, è stato inizialmente considerato in AT&T come una via di mezzo tra una curiosità e un mal di testa legale. Poi, alla fine del 1970, AT&T realizzò di avere qualcosa di importanza commerciale tra le mani. I suoi avvocati cominciarono quindi ad adottare una più favorevole interpretazione del decreto del 1956 per proteggere Unix come un segreto commerciale. A partire dal 1979, con il rilascio della versione 7, le licenze Unix proibivano alle università l’uso del codice sorgente di Unix nei loro corsi di studio. Nessun problema, disse il professore di informatica Andrew Tanenbaum, che aveva utilizzato Unix V6 alla Vrije Universiteit di Amsterdam. Nel 1987 scrisse un clone di Unix per utilizzo nei suoi corsi, creando il sistema operativo open source Minix per microprocessori Intel 80286. “Minix incorporava tutte le idee di Unix, ed è stato un lavoro brillante”, ricorda Salus. “Solo un grande programmatore che ha compreso profondamente i meccanismi interni di un sistema operativo poteva raggiungere un tale risultato”. Minix sarebbe diventato il punto di partenza per la creazione di Linux da parte di Linus Torvalds nel 1991 - se non esattamente un clone di Unix, certamente a Unix molto simile. Andando indietro di un decennio o più, Bill Joy, che era uno studente laureato e un programmatore presso l’Università della California a Berkeley negli Anni 70, mise le mani su una copia di Unix dei Bell Labs, e la vide come una buona piattaforma per il suo lavoro su un compilatore Pascal e un editor di testo. Le modifiche e le estensioni che lui e altri di Berkeley introdussero hanno portato al secondo grande ramo di Unix, chiamato Berkeley Software Distribution (BSD) Unix. Nel marzo 1978, Joy commercializzò copie di BSD, al prezzo di 50 dollari. Quindi, dal 1980 vi sono state due grandi linee di Unix, una da Berkeley e l’altra da AT&T, e la situazione era ormai tale da innescare quella che sarebbe diventata nota come la 'guerra degli Unix'. La buona notizia è che ovunque gli sviluppatori di software potevano ottenere il codice sorgente di Unix e adattarlo alle proprie esigenze e capricci. La cattiva notizia è che hanno fatto... proprio questo. Unix ha proliferato, con notevole divergenza fra le varianti. Nel 1982 Joy fu co-fondatore di Sun Microsystems offrendo una workstation, la Sun-1, che eseguiva una versione di BSD chiamata SunOS (Solaris sarebbe arrivato circa un decennio più tardi). L’anno seguente, AT&T rilasciò la prima versione di Unix System V, un sistema operativo di estrema influenza che sarebbe diventato la base per AIX di IBM e per HP-UX di Hewlett-Packard. A metà degli Anni 80, gli utenti, compreso il governo federale americano, lamentarono che mentre Unix era in teoria un un sistema operativo unico e portabile, in realtà non lo era affatto. I produttori prestarono attenzione alla denuncia ma lavorarono giorno e notte per bloccare gli utenti con caratteristiche e API personalizzate di Unix. Nel 1987, Unix System Laboratories, ai tempi una parte dei Bell Labs, iniziò a lavorare con Sun su un sistema che avrebbe unificato i due grandi rami di Unix. Il prodotto della loro collaborazione, chiamato Unix System V Release 4.0, venne rilasciato dopo due anni combinando caratteristiche di System V Release 3, BSD, SunOS e Xenix di Microsoft. Altri produttori di Unix hanno temuto l’allenza tra AT&T e Sun. Le varie parti hanno costituito organismi di definizione degli standard in concorrenza fra loro, con nomi come X/Open, Open Software Foundation, Unix International e Corporation for Open Systems. Le argomentazioni, le contro-argomentazioni e le realizzazioni di questi gruppi potrebbero riempire un libro, ma tutti hanno cercato la via dell’unificazione muovendosi critiche reciproche. In un documento inedito scritto nel 1988 per la Defense Advanced Research Projects Agency (DARPA), il pioniere dei minicomputer Gordon Bell disse questo della appena formata Open Software Foundation, che comprendeva IBM, HP, DEC e altri alleati contro la partnership AT&T/Sun. “OSF è un modo per i dilettanti di Unix di accedere al mercato in evoluzione, pur mantenendo i loro musei di codice ad alto margine.” La guerra degli Unix non riuscì a risolvere le differenze o a impostare un vero e proprio standard per il sistema operativo. Ma nel 1993, la comunità Unix fu scossa da Microsoft con l’uscita di Windows NT, un sistema operativo multiprocessing a 32 bit di classe enterprise. NT, di tipo proprietario in linea con la filosofia Microsoft, colpiva direttamente il mercato di Unix ed era stato concepito per estendere l’egemonia della casa di Redmond dai desktop ai data center e in altri ambiti presidiati dai server di Sun. Gli utenti Microsoft applaudirono. Per i produttori di Unix fu il panico. Tutti i principali rivali Unix si unirono in un’iniziativa comune denominata Common Open Software Environment, e l’anno successivo deposero le loro armi con la fusione fra l’alleanza AT&T/Sun e Open Software Foundation. Questa coalizione è evoluta nel The Open Group di oggi, certificatore dei sistemi Unix e proprietario della Single Unix Specification, a tutt’oggi la definizione ufficiale di “Unix”. Iniziativa che può aver tentato di standardizzare Unix per quanto possibile, ma non è riuscita a fermare una marea chiamata Linux, il sistema operativo open source cresciuto dal Minix del professor Tanenbaum. La continua mancanza di completa portabilità fra le versioni in concorrenza di Unix, così come il vantaggio in termini di costi di Linux e Windows sui processori x86, spingerà le aziende ad abbandonare Unix, suggerisce un recente studio di Gartner. “I risultati ribadiscono l'entusiasmo per Linux come piattaforma server host, la crescita di Windows nella stessa direzione e un lento, ma graduale declino per Unix”. E’ quanto spiega lo studio di Gartner, pubblicato lo scorso febbraio. “Unix ha avuto un lungo e vivace passato, e anche se è ancora forte sul mercato, sarà sempre più sotto pressione”, spiega l’analista di Gartner George Weiss. “Linux è la riaffermazione strategica di ‘Unix’ ”. Sebbene Linux non disponga della lunga eredità di sviluppo e messa a punto che ha contraddistinto Unix, sta per eguagliare Unix in prestazioni, affidabilità e scalabilità. Ma una recente indagine condotta da Computerworld negli Stati Uniti suggerisce che qualsiasi allontanamento o dismissione di Unix non si verificherà rapidamente. Nell’indagine su 130 utenti Unix fra 211 IT manager, il 90% ha dichiarato che le loro aziende fanno “elevato o estremo affidamento su Unix”. Poco più della metà ha affermato che “Unix è una piattaforma essenziale e rimarrà così a tempo indefinito”, e solo il 12% ha detto: “Ci aspettiamo di allontanarci da Unix in futuro”. Il risparmio di costi, principalmente attraverso il consolidamento dei server, è stato citato come il motivo numero uno per la migrazione. Weiss afferma che la migrazione verso i processori x86 accelererà a causa dei vantaggi di costo. “Architetture orizzontali e scalabili; clustering; cloud computing; virtualizzazione su x86 - quando si combinano tutte queste tendenze, la scelta del sistema operativo ricade su Linux e Windows“, spiega l'analista di Gartner. L’Open Group, proprietario della Single Unix Specification e certificatore di sistemi Unix, concede poco a Linux e definisce Unix il sistema di riferimento per “le funzionalità di alto livello, le prestazioni e la scalabilità per applicazioni mission-critical”. Linux, si dice, tende a essere lo standard per le applicazioni più piccole e meno critiche. Korn di AT&T è tra i 'rialzisti' di Unix rimasti. Korn dice che uno storico punto di forza di Unix, a partire dal 1973 con l’aggiunta dei pipe, è che può essere facilmente diviso in pezzi e distribuito. “Il [pipeline] funziona bene con il cloud computing, in cui si costruiscono piccoli pezzi riutilizzabili invece di una grande applicazione monolitica”. Indipendentemente dal destino finale di Unix, il sistema operativo nato ai Bell Labs 40 anni fa ha lasciato un’eredità che probabilmente durerà ancora per decenni. Può vantare un lungo elenco di software specifico e molto popolare, incluse le offerte Unix di HP, IBM, Sun, Mac OS X di Apple e Linux. Ha inoltre influenzato sistemi radicalmente diversi alla base, come Windows NT di Microsoft e le versioni DOS di IBM e Microsoft. Unix ha consentito a un certo numero di start-up di crescere, offrendo una piattaforma a basso costo su cui costruire il futuro. E‘ stato un elemento di base per internet ed è al centro dei sistemi di telecomunicazione moderni. Ha generato una serie di importanti idee architetturali come i pipeline, e il derivato di Unix Mach ha contribuito enormemente all’elaborazione scientifica, distribuita e multiprocessore. L’ACM non avrebbe potuto affermare di meglio in occasione della premiazione di Thompson e Ritchie: “Il genio del sistema Unix è la sua struttura di base, che consente ai programmatori di produrre eccellenti risultati sul lavoro degli altri”. |
Ultime Notizie
- 20 anni dalla strage di Capaci. Lo speciale
- Niente e-book, siamo studenti. All'università domina la carta
- Professioni sanitarie. La bozza di accordo Ministero-Regioni
- «Miss fondoschiena», il sexy-concorso dà scandalo a Cambridge
- Mai più seni «rifatti» per le under 18. È legge il divieto
- Laureati alle prese con la crisi: "Pronti a andare all'estero"
- Università all’estero: quali sono i requisiti per accedere?
- Ecco So.cl di Microsoft
- Nuovi farmaci per curare il tumore senza effetti collaterali sul fisico
- Università americana laurea Francesco Guccini
Più Lette della Settimana
- Immigrazione, Cameron taglia sugli studenti stranieri. Ci rimettono le università
- La Sapienza, scoperto il gene della longevità: si trova negli abitanti di Campodimele
- Il ritorno del Piccolo Principe
- Terremoto in Emilia: tanti i danni, ma soprattutto la paura
- Il robot comandato col pensiero. Così BrainGate aiuta i paralitici
- Documento professioni sanitarie. Proia: “Aperti a tutte le modifiche migliorative”
- Diretta Video - Forum PA al centro dell'Innovazione
- Progetto Leonardo laureati (prossimi alla Laurea) e diplomati dal titolo 2“Ideare ”- Ideare, Agire, Riflettere e capire, cambiare"
- I tablet Acer arrivano sui banchi di scuola
- Il genio di Pompei conteso dai college Usa





Unix compie 40 anni. Passato, presente e futuro di un sistema operativo rivoluzionario







