La storia di Unix: da Bell Labs a iPhone

Autore: Judy Howell
Data Della Creazione: 1 Luglio 2021
Data Di Aggiornamento: 23 Giugno 2024
Anonim
The History of Unix, Rob Pike
Video: The History of Unix, Rob Pike

Contenuto



Porta via:

Il fatto che Unix sia ancora in uso dopo oltre 40 anni è un segno della sua versatilità.

Potresti pensare che il tuo smartphone o tablet sia nuovo di zecca, ma la tecnologia alla base di esso ha una lunga storia che risale agli anni '60. Se hai un dispositivo iOS o Android, è basato su un sistema operativo chiamato Unix sviluppato da Bell Labs. Anche se hai un PC con Windows, parla con molti server durante il giorno, molti dei quali funzionano anche su Unix. Per la sua lunga storia, è un po 'sorprendente che Unix sia ancora così comune. Qui bene dai un'occhiata a come è arrivato così lontano.

Storia antica

La genesi di ciò che alla fine divenne Unix iniziò a metà degli anni '60 con un progetto chiamato MULTICS. Un consorzio di organizzazioni, tra cui MIT, GE e Bell Labs, si sono riuniti per creare un sistema per supportare una "utility di elaborazione". Oggi, potremmo chiamarlo cloud computing. Sfortunatamente, MULTICS avrebbe potuto essere troppo avanti rispetto ai suoi tempi e Bell Labs alla fine si ritirò dal progetto nel 1969, lasciando un paio di programmatori, Dennis Ritchie e Ken Thompson, bloccati su apparecchiature più vecchie.


Una volta che Thompson e Ritchie avevano avuto un assaggio dell'informatica interattiva quando il mondo dipendeva ancora in gran parte dall'elaborazione batch, non potevano più tornare indietro. Così hanno deciso di avviare il proprio progetto, che ha tentato di salvare alcune delle migliori funzionalità di MULTICS.

"Ciò che volevamo preservare non era solo un buon ambiente in cui svolgere la programmazione, ma un sistema attorno al quale si poteva formare una compagnia", scrisse Ritchie nel 1979. "Sapevamo per esperienza che l'essenza del calcolo comune, come fornita da remoto -access, macchine a tempo condiviso, non è solo quello di digitare programmi in un terminale invece di un keypunch, ma di incoraggiare una stretta comunicazione. "

Oltre a quei grandi obiettivi, Thompson aveva anche un motivo più personale: voleva giocare a un gioco inventato chiamato "Space Travel".

Thompson e Ritchie hanno deciso di implementare il loro sistema su un PDP-7 di Digital Equipment Corporation. Hanno delineato un sistema di base e lo hanno scritto in linguaggio assembly. Decisero di chiamarlo "UNICS" come gioco di parole su MULTICS. Presto cambiarono il nome in "Unix".


Volevano un computer più potente, quindi hanno convinto il management ad acquistare un PDP-11 per sviluppare un'applicazione di elaborazione per il dipartimento brevetti di Bell Labs. Di conseguenza, la prima applicazione dell'utente finale per Unix era essenzialmente l'elaborazione di testi.

Il successo ha portato alla crescita di Unix all'interno di Bell Labs. Una caratteristica distintiva era la capacità di reindirizzare l'input da un programma a un altro, consentendo un approccio "building block" allo sviluppo del software.

Nessun bug, nessuno stress: la tua guida passo passo alla creazione di software che ti cambia la vita senza distruggere la tua vita


Non puoi migliorare le tue capacità di programmazione quando a nessuno importa della qualità del software.

Il punto di svolta per Unix fu quando fu reimplementato in C, un linguaggio progettato da Thompson e Ritchie. C era un linguaggio di alto livello. Scrivere un sistema operativo in questo modo avrebbe un profondo effetto sulla sua evoluzione; ha reso Unix portatile, il che significava che poteva essere eseguito su diversi computer con relativamente poco sforzo. (Scopri la storia dietro i linguaggi di programmazione in Programmazione per computer: dal linguaggio macchina all'intelligenza artificiale.)

Unix ha suscitato molta attenzione quando Thompson e Ritchie hanno pubblicato un articolo sul sistema nella prestigiosa rivista di informatica dell'ACM nel 1974.

La distribuzione del software Berkeley

Popolare come Unix stava entrando e uscendo da Bell Labs, AT&T, di cui Bell Labs era il braccio di ricerca, non poteva capitalizzarlo a causa di un decreto di consenso. In cambio del mantenimento del monopolio del servizio telefonico negli Stati Uniti, non poteva entrare in alcuna area di attività non telefonica, vale a dire il software per computer, ma era tenuto a concedere una licenza a chiunque lo chiedesse.

I Bell Lab hanno praticamente distribuito copie di Unix, complete di codice sorgente, alle università. Uno di questi era UC Berkeley. L'inclusione del codice sorgente ha permesso agli studenti, in particolare Bill Joy, di apportare modifiche e miglioramenti. Questi miglioramenti sono diventati noti come Berkeley Software Distribution (BSD).

Numerose innovazioni sono emerse dal progetto BSD, tra cui la prima versione di Unix per sfruttare la memoria virtuale della linea di minicomputer VAX DECs e l'editor vi.

L'aggiunta più importante è stata l'implementazione di TCP / IP, che ha reso Unix, e in particolare BSD Unix, il sistema operativo preferito su Internet nascente. (Ulteriori informazioni sullo sviluppo di TCP / IP in La storia di Internet.)

Le versioni basate su BSD sono diventate popolari anche nel mercato emergente delle workstation, in particolare sui computer Sun Microsystems, che Bill Joy ha lasciato Berkeley come cofondatore.

GNU e Linux

Sun non era l'unica azienda a commercializzare Linux. Dopo lo scioglimento di AT&T nei primi anni '80, fu finalmente in grado di entrare anche nel settore dei computer. AT&T ha introdotto System V, che era orientato verso installazioni multiutente più grandi.

Ma almeno una persona non era soddisfatta del modo in cui l'industria passava da un ambiente accademico in cui tutti condividevano il codice sorgente in un mondo commerciale in cui le persone "accumulavano" il codice.

Richard Stallman, programmatore del Artificial Intelligence Laboratory del MIT, annunciò il progetto GNU (GNUs Not Unix) nel 1983.

"Ritengo che la Regola d'oro richieda che se mi piace un programma, devo condividerlo con altre persone a cui piace", ha scritto Stallman nel suo GNU Manifesto. "I venditori di software vogliono dividere gli utenti e conquistarli, facendo sì che ciascun utente accetti di non condividere con gli altri. Mi rifiuto di infrangere la solidarietà con gli altri utenti in questo modo. Non posso in buona coscienza firmare un accordo di non divulgazione o un accordo di licenza software."

Il progetto GNU mirava a sostituire il software proprietario Unix con software libero, "libero come nel parlato, non come nella birra", come diceva Stallman. In altre parole, con il codice sorgente e le licenze che in realtà hanno incoraggiato le persone a regalarlo.

Per quanto folle potesse sembrare questo schema, Stallman è riuscito ad attrarre un gruppo di programmatori a lavorare sul progetto, sviluppando software di alta qualità come editor, compilatori e altri strumenti, tutti rilasciati sotto licenza (in particolare la General Public License (GPL) ) che garantiva l'accesso al codice sorgente. L'influenza di GNU persuase persino i programmatori BSD a cancellare il codice AT&T dal sistema, rendendolo anche completamente ridistribuibile.

L'ultimo pezzo mancante era il kernel, o il nucleo del sistema. Il kernel GNU, HURD, si è rivelato più difficile da implementare del previsto. Fortunatamente, un progetto di hobby per studenti laureati finlandesi si è rivelato essere la grazia salvifica di GNU. Linus Torvald rilasciò il suo kernel Linux nel 1991 e, sebbene non intendesse che ciò accadesse, iniziò una rivoluzione nei sistemi operativi. Presto iniziarono a comparire "distribuzioni" di strumenti Linux e GNU, permettendo a chiunque con le competenze necessarie di avere un sistema operativo simile a Unix simile a quelli che costano migliaia di dollari usati nelle università e nei laboratori di ricerca. Soprattutto, potevano farlo su un normale PC, gratuitamente. (Leggi di più sulle distribuzioni popolari di oggi nelle distribuzioni Linux: quali sono le migliori?)

Ciò è stato irresistibile per il numero crescente di startup Web e ISP negli anni '90. Potevano ottenere software server gratuitamente e assumere brillanti giovani laureati in informatica che sapevano come gestirli senza troppi soldi. Lo stack di server Linux / Apache / MySQL / PHP è ancora oggi una delle piattaforme preferite dai fornitori di servizi Web.

Passare al cellulare

Anche se Unix ha più di 40 anni, la sua versatilità consente usi ben oltre i minicomputer originali su cui ha funzionato per la prima volta. Uno dei più visibili è Apples iOS, che è in parte basato su FreeBSD, che a sua volta si basa sul codice BSD originale. L'altro principale sistema operativo mobile, Android, si basa su un kernel Linux modificato. Sebbene nessuno di questi contenga un codice Unix originale, conservano molte delle idee sottostanti, anche con interfacce visive che sono molto lontane dalla linea di comando che la maggior parte delle persone associa a Unix.

Il fatto che le principali piattaforme mobili attuali siano basate su Unix dimostra la sua versatilità. È vecchio, ma non sembra esserci alcun segno che rallenta, anche se uno dei suoi creatori originali, Dennis Ritchie, è morto nel 2011. Quindi la prossima volta che vuoi pensare al tuo smartphone o tablet come nuovo, ripensaci: il la tecnologia che la supporta ha fatto molta strada.