Una breve storia di Unix

Contenuti

Bash Shell

Nonostante l'alimentazione più di 90% dei carichi di lavoro cloud di oggi, Unix (e Linux con esso) ha avuto umili origini. Jim Hall discute di come Unix dei Bell Labs negli anni '90 1970 divenne la spina dorsale di molti moderni sistemi operativi.

Le origini di Unix

Agli albori dell'informatica, gli utenti hanno interagito con il computer attraverso una serie di mezzi bizantini. L'ENIAC originale non aveva nemmeno una "interfaccia di programmazione" come ora crediamo; Invece, los programadores conectaronunidades funcionalesseparadas a través de enchufes y cables. Man mano che i computer diventavano più pratici, è diventata una piattaforma per il trading batch, come attraverso pile di schede dati perforate.

Sui sistemi successivi, più “modernoscomo el mainframe, l'amministrazione del sistema era ancora complessa. È necessario creare un file specificando la quantità di spazio su disco per allocare più altri attributi. Gli operatori interagivano regolarmente con il sistema utilizzando dispositivi terminali cartacei simili a macchine da scrivere.. E in quei primi giorni, era così che le persone si aspettavano di lavorare con i computer.

A metà e alla fine degli anni '90 1960, el MIT, Bell Labs e GE hanno collaborato a un nuovo sistema chiamato MULTICS, il Servizio Informatica e Informazione Multiplex. MULTICS doveva essere una rivoluzione nell'informatica. Ma attraverso il suo sviluppo, Anche MULTICS è diventato sempre più complesso. Frustrato dal progetto, Bell Labs in pensione, lasciando che altri portino avanti il ​​progetto in seguito, anche quando molto tardi.

Intanto, Ken Thompson è tornato da MULTICS ai Bell Labs per lavorare su altri progetti. Uno sforzo ha coinvolto un'unità disco particolarmente veloce collegata a un minicomputer DEC PDP-7.. Thompson voleva ottenere il massimo dalle prestazioni di questa unità e, per estensione, su qualsiasi dispositivo di archiviazione. Quindi, iniziato a lavorare su un programmatore di dischi.

Quando ci si avvicina a questo progetto, Thompson se dio cuenta de que su proyecto de prueba estaba entrando en el territorio del “sistema operativo”. Per le prossime tre settimane, mentre sua moglie era in vacanza per far visita ai suoi genitori, Thompson ha riempito i pezzi mancanti e ha aggiunto un'interfaccia di chiamata esecutiva, un assemblatore, un editor e una shell. E da quei piccoli inizi è nato Unix.

Sviluppo Unix

Durante tutto il suo sviluppo presso i Bell Labs, no hubo undiseño maestroque definiera lo que Unix debería hacer o convertirse. Anziché, Unix è cresciuto in modo organico poiché diversi utenti avevano bisogno di nuove funzionalità.

Una delle mie prime storie Unix preferite è come i ricercatori Unix sono riusciti a comprare un nuovo sistema informatico per continuare il loro lavoro e allo stesso tempo hanno creato un nuovo comando Unix standard. Il dipartimento dei brevetti ha pianificato l'acquisto di un nuovo sistema informatico dedicato per la scrittura di domande di brevetto per conto di Bell Labs. Il team di Unix ha suggerito al dipartimento dei brevetti di acquistare un nuovo minicomputer DEC PDP-11, e il team Unix installerebbe Unix e scriverebbe software personalizzato per aiutare il dipartimento dei brevetti a scrivere domande di brevetto. Quel nuovo software per scrivere brevetti? Una nuova implementazione del sistema di formattazione dei documenti Roff, esso stesso una derivazione di un precedente programma CTSS chiamato RUNOFF. Oggi, “New Roff” oh nroff, è una parte fondamentale di Unix.

Agli stessi comandi Unix venivano dati nomi molto brevi. il ls, rm, mv, e altri comandi Unix standard erano così brevi perché i primi terminali ticker Model 33 utilizzato nei Bell Labs ha richiesto uno sforzo significativo per digitare ogni lettera. Era più facile scrivere rm di un nome di comando più descrittivo come remove, oh cp Quello copy.

Una delle caratteristiche distintive di Unix, il “tubatura”, che consentiva a un comando di inviare il proprio output a un altro comando per un'ulteriore elaborazione, è stato aggiunto anche su richiesta di un altro ricercatore dei Bell Labs, Douglas McIlroy. Fino ad allora, i comandi agivano su singoli file contemporaneamente. Ma con i tubi, puoi concatenare più comandi per creare risultati più interessanti. Come esempio, il ls comando elenca i file in una directory, e il wc comando conta le righe del tuo input. Se colleghi i due comandi insieme come ls|wc , ottiene il numero di file in una directory.

Altri comandi sono stati aggiunti in modo simile perché qualcuno li ha richiesti. Thompson ha scritto il grep comando basato su un suggerimento di McIlroy che Unix dovrebbe avere un'utilità per cercare il testo nei file. Thompson ha riutilizzato il codice Unix ed editor para crear una utilidad para realizar unaimpresión de expresión regular globalde cualquier texto que coincida con el del usuario frase normale. Este comando deimpresión de expresión regular globalse denominó simplemente grep, ora un comando Unix standard.

Unix ovunque

Unix ha continuato a crescere, principalmente come ricerca e come piattaforma per progetti all'interno dei Bell Labs fino alla metà degli anni '90. 1980. In quel periodo, un gruppo di diversi fornitori iniziò a commercializzare le proprie versioni di Unix, include HP-UX di Hewlett Packard, IBM AIX, Xenix di Microsoft, SunOS di Sun. (in seguito ribattezzato Solaris), tra gli altri. Sopra 1983, Richard Stallman ha avviato un nuovo progetto per creare una versione software gratuita di Unix, chiamato GNU (un ricorsivo acronimo, Che cosa significa “GNU no es Unix”).

Ogni distribuzione Unix era leggermente diversa e incompatibile tra loro. Alcuni sono stati derivati ​​dall'originale AT Unix&T Bell Lab, come HP-UX e AIX. Altre versioni di Unix sono state derivate da una popolare variante universitaria dell'Università della California a Berkeley, llamada BSD paraBerkeley Software Distribution”. Molti dei comandi erano uguali o simili tra le diverse versioni di Unix, ma i dettagli su come gestiva il sistema in generale erano molto diversi. Una differenza fondamentale è stata il modo in cui è stato avviato Unix: A&T “System VUnix utiliza livelli di corsa controllato da una centrale /etc/inittab file, mentre BSD Unix avvia tutto usando eseguire il controllo trattini che iniziano con /etc/rc testo.

Altri sistemi Unix sono andati e venuti durante i decenni di 1980 e 1990. Steve Jobs, dopo essere stato estromesso dalla carica di CEO di Apple in 1985, fondo NeXT, che ha prodotto la propria variante di Unix, derivato da BSD. NeXT ha portato diverse innovazioni in Unix, incluso un microkernel basato su Mach. Il desktop grafico NeXT, Passo successivo, aggiunto altre nuove idee, come PostScript Display per creare grafica su schermo, un “muellede aplicaciones disponibles y en ejecución, e un livello di applicazione orientato agli oggetti con toolkit.

Sopra 1991, uno studente finlandese di nome Linus Torvalds iniziò a lavorare su un progetto che in seguito divenne il kernel Linux. Il 25 agosto 1991, Torvalds ha pubblicato un breve annuncio su un gruppo di discussione Usenet sul suo progetto di hobby e ha invitato altri a contribuire.. Torvalds ha rilasciato Linux sotto la GNU General Public License, il che significava che chiunque poteva modificare Linux per correggere bug o aggiungere nuove funzionalità. Este modelo decódigo abierto” oh “software libreimpulsó rápidamente el desarrollo de nuevos sistemas Linux.

Le comunità sono nate intorno a Linux, trasportare strumenti GNU e altri comandi Unix per l'esecuzione su Linux. Sopra 1992, gli sviluppatori hanno portato il sistema X Window, cosa ha dato a Linux la sua prima interfaccia utente grafica?. El resultado es lo que la mayoría de la gente piensa cuando decimos “Linux”, benché Linux in realtà è solo il kernel che esegue tutto.

Unix moderno

Sebbene esistano ancora sistemi Unix proprietari, la maggior parte dei sistemi Unix sono Linux. Almeno sui server web, Linux domina. Linux è anche comune per molti carichi di lavoro aziendali, inclusi server di applicazioni e server di database. Difficile sapere esattamente quanti server Linux stanno eseguendo cose, Ma molte stime suggeriscono che Linux esegue più di due terzi dei server Web e di altre infrastrutture Internet.. Anche Microsoft è compatibile con Linux; la tua piattaforma Azure esegue Linux, allo stesso modo del sottosistema Windows per Linux su desktop Windows.

Sulla scrivania, Linux non ha mai preso piede in modo significativo. Una mordaza corriente en la comunidad de Linux esEl próximo año será el Anno desktop Linux. ” Pero Windows reina supremo en el escritorio. Nonostante questo, se stai cercando Unix sul desktop, considera Apple macOS. Sopra 1996, come parte del ritorno di Steve Jobs in Apple come CEO, Apple ha acquistato NeXT e ha utilizzato NeXT come base per il sistema operativo di prossima generazione nei nuovi Mac. MacOS è davvero Unix sotto il cofano; apri una finestra di terminale e puoi trovare una shell Unix con utilità Unix standard. In realtà, macOS è un Unix ufficiale, riconosciuto dall'Open Group.

Dove sta andando Unix adesso?? Ya no estoy seguro de si “Unix” es la etiqueta correcta. In un'epoca in cui i sistemi Linux sono di gran lunga più numerosi Unix server, es factible que hayamos pasado el punto en el que “Unix” tiene mucho significado. Ya no se trata deUnix como plataforma”, sino deLinux como plataforma”. E proprio come Unix è cresciuto oltre il suo design originale, aggiungendo nuove funzionalità dove erano necessarie, Linux continua ad evolversi per soddisfare nuove esigenze. Almeno per il prossimo futuro, se trata de “Linux”, no de “Unix”.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.