Unix | ||||||||
Azienda / Sviluppatore |
Bell Laboratories , Ken Thompson , Dennis Ritchie e Brian Kernighan | |||||||
---|---|---|---|---|---|---|---|---|
Scritto in | C e assemblatore | |||||||
Prima versione | 1969 | |||||||
Sito web | opengroup.org/unix | |||||||
| ||||||||
Unix , ufficialmente UNIX (a volte scritto " Unix ") è una famiglia di sistemi operativi multitasking e multiutente derivati da Unix originariamente creati da AT&T , il cui sviluppo è iniziato negli anni '70 presso il centro di ricerca dei Bell Labs guidato da Kenneth Thompson . Si basa su un interprete o supervisore (la shell ) e molte piccole utilità, ognuna delle quali esegue un'azione specifica, commutabile tra loro (meccanismo di " reindirizzamento ") e chiamata dalla riga di comando .
Particolarmente diffuso nel mondo accademico nei primi anni '80, è stato utilizzato da molte start-up fondate da giovani imprenditori durante questo periodo e ha dato origine a una famiglia di sistemi, le più popolari delle quali ad oggi sono le varianti da BSD (tra cui FreeBSD , NetBSD e OpenBSD ), GNU / Linux , iOS e macOS . Quasi tutti i PC o sistemi operativi mobili (ad eccezione di Windows NT ) sono basati sul kernel Unix. Tutti questi sistemi sono chiamati "famiglia Unix", " sistemi di tipo Unix " o semplicemente "sistemi Unix". Esiste un insieme di standard uniti sotto POSIX e singoli standard di specifica UNIX che mirano a unificare alcuni aspetti del loro funzionamento.
Il nome "UNIX" è un marchio registrato di Open Group , che ne autorizza l'uso per tutti i sistemi certificati conformi alla singola specifica UNIX ; tuttavia, è comune fare riferimento a sistemi simili a Unix in termini generali. Deriva da "Unics" (acronimo di "Uniplexed Information and Computing Service"), ed è un gioco di parole su " Multics ", perché a differenza di quest'ultimo che mirava a offrire contemporaneamente più servizi a un insieme di utenti, il sistema iniziale Kenneth Thompson è voluto meno ambizioso e utilizzato da una persona alla volta con strumenti che eseguono un compito.
Nel 1969 , Ken Thompson e Dennis Ritchie, che allora lavoravano per Bell Labs, svilupparono la prima versione di un sistema operativo per utente singolo chiamato New Ken's System . Si sono resi conto che il lavoro su un marchio di minicomputer PDP-7 ( Programmed Data Processor ) a dicembre era guidato dal sistema operativo generale e completo e hanno redatto il nuovo software in linguaggio assembly . Il nome Unics è stato suggerito da Brian Kernighan dopo un gioco di parole "latino" con Multics ; "Multicar Multics ha fatto la stessa cosa in molti modi mentre Unics ha fatto tutto in un modo." Questo nome è stato successivamente contratto in Unix (per essere finalmente registrato con il nome UNIX da AT&T ), su iniziativa di Brian Kernighan.
Un decreto di consenso risalente al 1956 ha impedito alla società AT & T , compresi i Bell Labs, di dipendere da un mercato diverso dalle apparecchiature telefoniche o telegrafiche. Questo è il motivo per cui nel 1975 fu presa la decisione di distribuire il sistema Unix completo con il suo codice sorgente nelle università per scopi didattici, con l'acquisizione di una licenza a un prezzo molto basso.
Nel 1971 , consapevole della difficoltà di mantenere un sistema scritto in linguaggio assembly, Ken Thompson prese in considerazione la possibilità di riscrivere Unix in TMG , ma scoprì che TMG non forniva ciò di cui aveva bisogno. Per un breve periodo pensò di riscrivere Unix in Fortran , ma alla fine progettò B con l'aiuto di Dennis Ritchie nel 1969 e negli anni '70, ispirandosi al linguaggio BCPL . Tuttavia Unix non è mai stato riscritto in B; la B non supportava i tipi , tutte le variabili avevano le stesse dimensioni delle parole nell'architettura, l'aritmetica float non era implementata; Inoltre, il compilatore B utilizza la tecnica del codice threaded (in) . Ecco perché Dennis Ritchie ha iniziato nel 1971 a scrivere il nuovo B , che è stata ribattezzata C . Il linguaggio C è ancora oggi uno dei linguaggi più utilizzati.
Ken Thompson e Dennis Ritchie hanno presentato il primo documento su Unix al Simposio sui principi dei sistemi operativi alla Purdue University nel 1973 . Il professor Bob Fabry dell'Università della California Berkeley (UCB), allora tra il pubblico, si è subito interessato eGennaio 1974Keith Standiford , studente del 2 ° ciclo, installa la versione 4 su UBC, distribuita su nastro.
All'inizio del 1975 , Ken Thompson ha trascorso un anno come professore in visita presso la sua alma mater , UCB . Con Jeff Schriebman e Bob Kridle , hanno messo insieme la versione 6 . Fu a questo punto che Unix iniziò a essere rilasciato al di fuori di Bell Labs.
Nell'autunno del 1975 , Bill Joy e Chuck Haley , allora al secondo ciclo, si interessarono al nuovo sistema e implementarono l' ex editor online in Pascal, e finirono per esplorare come funzionava il kernel quando Ken Thompson se ne andò . Allo sviluppo si aggiunsero anche Alan Snyder, Steven C. Johnson, Michael Lesk in questo periodo dal 1973 al 1977 . All'inizio di quest'ultimo anno, Bill Joy ha realizzato la prima distribuzione nota come Berkeley Software Distribution (BSD). Successivamente, con l'arrivo di nuovi terminali, scrive vi (l'editor visuale), una sovrapposizione di ex . Nell'estate del 1978 fu creata la Second Berkeley Software Distribution o 2BSD.
Allo stesso tempo, sono emersi i concetti di datagrammi e calcolo distribuito , con Arpanet , la rete delle Cicladi e la Distributed System Architecture , che nel 1978 è diventata il modello OSI-DSA . Una maggiore comunicazione tra macchine in diversi centri di ricerca dimostra l'utilità di sistemi operativi aperti e convergenti, che diventeranno una necessità con le prime workstation tra cui TCP / IP di Sun Microsystems , create da Andy Bechtolsheim , Bill Joy , Vinod Khosla e Scott McNealy .
Poi in Dicembre 1979Bill distribuisce 3BSD joy, la prima distribuzione a supportare i computer VAX di DEC . È anche quest'anno che viene rilasciata la versione 7 , che si presenta con molte modifiche degne di nota come l'estensione a 2 GB della dimensione massima del file, l'aggiunta di diverse utility, e soprattutto una maggiore portabilità del sistema, cioè diventa più facile per modificarlo per funzionare su altre piattaforme hardware . Fu in questo periodo che fu realizzato il primo importante port di Unix, la versione 32 / V , su un VAX 11/780 .
Alla fine del 1977 , i ricercatori dell'Università della California apportarono numerosi miglioramenti al sistema Unix fornito da AT&T e lo distribuirono sotto il nome di Berkeley Software Distribution (o BSD). Così BSD è stato, per esempio, il primo sistema Unix di sfruttare appieno la memoria virtuale impaginato meccanismo del VAX 11/780 .
Sono emersi tre rami principali dello sviluppo delle fonti:
Questi rami hanno preso in prestito codice e / o concetti l'uno dall'altro. In tal modo :
Quando 3BSD fu pubblicato alla fine degli anni '70, la Defense Advanced Research Projects Agency ( DARPA ) venne a conoscenza dei progressi fatti all'UCB. Hanno in programma di utilizzare Unix per i loro progetti. Molti ingegneri sperano quindi nella creazione di standard innovativi di fronte al monopolio IBM .
Nell'autunno dello stesso anno, Bob Fabry offrì a DARPA una versione migliorata di 3BSD per soddisfare le loro esigenze. Viene firmato un contratto di 18 mesiAprile 1980e Bob Fabry mette insieme una squadra. Bill Joy , che ha appena sostenuto la sua tesi di dottorato , propone di partecipare. Le versioni si susseguono fino alla 4.1BSD.
Soddisfatta, la DARPA firma per altri due anni e il budget è quasi moltiplicato per cinque. Il numero di persone coinvolte sta crescendo rapidamente. Il comitato direttivo è formato per aiutare a definire l'evoluzione del sistema.
Questo gruppo si riunisce due volte l'anno Aprile 1981 e Giugno 1983, e comprende in particolare Bob Fabry, Bill Joy e Sam Leffler di UCB, Dennis Ritchie di Bell Laboratories, Duane Adams e Bob Baker di DARPA, nonché personale e studenti di diverse altre università, in particolare Stanford , Carnegie-Mellon e il Università della California a Los Angeles . Dal 1984 , si tratta di seminari che riuniscono molte più persone che subentrano.
Fu Rob Gurwitz a pubblicare la prima implementazione dei protocolli TCP / IP , i protocolli di Internet di oggi. Bill Joy lo integra nel sistema e regola le prestazioni. Questa implementazione è considerata da molti l'implementazione del benchmark. Successivamente è stato rilevato da Microsoft per il sistema operativo Windows , il che è possibile grazie alla licenza BSD molto permissiva con cui viene rilasciato BSD. Verso la fine dell'estate del 1982 , Bill Joy annunciò che si sarebbe unito a Sun Microsystems e Sam Leffler rilevò il progetto.
Nel Agosto 1983, Viene rilasciato 4.2BSD; questa è la prima versione che include il nuovo stack TCP / IP. Sam Leffler lascia UCB per Lucasfilm e Mike Karels lo sostituisce. 4.2BSD era allora molto popolare ed era più venduto di tutte le altre distribuzioni messe insieme, e del System V di AT&T, in particolare perché quest'ultimo non aveva né comunicazioni di rete né FFS (Berkeley Fast Filesystem)).
Alla conferenza Usenix del 1985 fu annunciato 4.3BSD. Nuove architetture hardware stanno diventando supportate e con la versione 4.3-Tahoe il kernel è diviso in parti dipendenti dall'hardware e indipendenti.
All'inizio del 1992 , Unix System Laboratories (USL), un componente AT&T responsabile dello sviluppo e della vendita di Unix, iniziò a citare in giudizio Berkeley Software Design, Incorporated (BSDI), istituito per sviluppare e vendere una versione commerciale. La causa non ha avuto successo come avrebbe voluto USL, che ha poi avviato un'altra causa contro BSDI e UCB. USL viene venduta da AT&T a Novell . NelGennaio 1994, si trova un accordo:
Nel Gennaio 1995, FreeBSD 2.0 è stato rilasciato con nuovi file da Net / 2, poi chiamato 4.4BSD-Lite, e parti di 386BSD.
Fino al 4.3BSD-Tahoe, la licenza AT&T si applica ancora ai sorgenti, che sono ancora distribuiti. Gli utenti non sono utenti passivi ma partecipano attivamente allo sviluppo e migliorano gradualmente il codice AT&T originale. Poiché la licenza delle fonti di AT&T è diventata eccessivamente costosa, le ultime fonti originali sono state private del codice di AT&T e inGiugno 1989, viene rilasciato il primo BSD gratuito, Networking Release 1 o Net / 1.
La licenza è volutamente molto liberale: il software può essere ridistribuito o venduto, con o senza modifica dei sorgenti, in forma binaria (compilato) oppure no. Le note sul copyright nelle fonti dovrebbero essere lasciate intatte e la documentazione dovrebbe riconoscere l'origine del codice ( University of California at Berkeley , UCB).
Net / 1 costa quindi 1000 dollari all'UCB per il nastro magnetico che lo trasporta e viene reso disponibile tramite connessione FTP anonima (protocollo di trasferimento file) (non è richiesta la password).
Il sistema di memoria virtuale del sistema operativo MACH della Carnegie-Mellon University è stato importato e 4.3BSD-Reno è stato rilasciato all'inizio del 1990 .
La crescente incompatibilità tra le molte varianti di Unix offerte da diversi editori per macchine differenti sta gradualmente influenzando la popolarità e la diversità dei sistemi Unix. Al giorno d'oggi, i sistemi Unix proprietari , a lungo la maggioranza nell'industria e nell'istruzione, vengono utilizzati sempre meno. D'altra parte, tre sistemi di tipo Unix basati su BSD ( FreeBSD , NetBSD e OpenBSD ) da un lato, e il sistema GNU / Linux , compatibile con Unix, dall'altro, così come macOS (ex OS X, basato su Darwin ), occupano una quota di mercato sempre più importante, permettendo a Unix di competere con l'altra grande famiglia di OS (proprietari), Windows NT .
Bill Jolitz di Networking Release 2 pubblica 386 / BSD, inteso per un'architettura PC (386), ma viene rapidamente sopraffatto dalla sua manutenzione. Pochi mesi dopo la sua pubblicazione, gli utenti di 386BSD hanno formato il gruppo NetBSD e hanno unito le proprie risorse per mantenere e migliorare questo sistema. I loro obiettivi sono quindi far funzionare NetBSD con qualsiasi hardware. Il pubblico di destinazione di NetBSD sono gli amministratori di sviluppatori high-tech.
Pochi mesi dopo, il gruppo FreeBSD si è formato e ha deciso di concentrarsi sull'architettura del PC. NelDicembre 1993, con il supporto del CDROM di Walnut Creek, viene rilasciato FreeBSD 1.0.
Il progetto OpenBSD è stato creato nel 1995 a seguito di un disaccordo tra uno degli sviluppatori di NetBSD, Theo de Raadt , e gli altri membri del progetto. Si concentra sulla sicurezza IT .
GNU è un sistema operativo rilasciato nel 1983 da Richard Stallman con l'obiettivo di fornire un equivalente Unix costituito interamente da software libero . Sebbene compatibile con Unix, GNU si distingue in particolare per il suo ampio uso di Lisp .
Nel 1991 , mentre il kernel GNU, Hurd era lento ad essere operativo, fu creato il kernel Linux (vedi sotto) che fu rilasciato nel 1992. Ciò rese possibile utilizzare per la prima volta un sistema operativo completamente libero, una variante di GNU utilizzando il kernel Linux noto come GNU / Linux , o più comunemente, solo Linux.
GNU e GNU / Linux sono usati sotto forma di distribuzioni che li accompagnano con software aggiuntivo. Alcune delle distribuzioni più popolari includono Debian , Ubuntu , Linux Mint , Red Hat , Fedora e Arch . Tra queste sei distribuzioni, solo due offrono, al posto di Linux, l'uso di Hurd: Debian e Arch . Inoltre, Debian propone di utilizzare due kernel della famiglia BSD con le distribuzioni Debian GNU / kFreeBSD e Debian GNU / NetBSD .
Nel 1991 uno studente finlandese, Linus Torvalds , decise di progettare, sul modello di Minix , un sistema operativo in grado di funzionare su architetture basate sul processore Intel 80386 . Il kernel , che allora era in fase sperimentale, doveva essere generato su un sistema Minix .
Il nome di Linux deriva dalla persona che ha ospitato il progetto per il suo rilascio (versione 0.0.1) e non da una scelta di Linus. Voleva rinominare il suo sistema Freax per un po ' , ma era troppo tardi, Linux si era già affermato tra gli appassionati. Linux non contiene alcun codice da UNIX, è solo ispirato da esso e completamente riscritto. D'altra parte, Linux è un software gratuito .
Linux con GNUEssendo Linux stesso solo un kernel, ha bisogno di essere accompagnato da altro software per formare un sistema operativo. Una delle possibilità più popolari è usare Linux come kernel del sistema operativo GNU per formare un sistema denominato GNU / Linux o semplicemente Linux . Diverse aziende o associazioni distribuiscono Linux e GNU accompagnati da un insieme coerente di software; un tale sistema è chiamato distribuzione Linux .
AndroidAndroid è un sistema operativo per dispositivi mobili sviluppato da una startup con lo stesso nome e acquisito da Google . Si basa sul kernel Linux e sulla macchina virtuale Dalvik o su Android KitKat: Android Runtime (ART).
Unix è il creatore di macOS (in precedenza Mac OS X), la versione corrente del sistema operativo di Apple . macOS, come Darwin, è basato sul kernel XNU , un derivato del microkernel Mach .
Nel Maggio 2007, la versione 10.5 ( Leopard ) di Mac OS X su Intel ha ricevuto la certificazione UNIX 03 da Open Group .
Già nel 1977, AT&T rese disponibili ad altre società i sorgenti della versione 6 di Unix . Così, mentre l'operatore telefonico continuava i suoi sviluppi con la versione 7 e poi con System V , sono stati sviluppati un gran numero di derivati Unix:
A metà degli anni '80 , un professore americano con sede nei Paesi Bassi , Andrew Tanenbaum , sviluppò un sistema operativo minimo, chiamato Minix , per insegnare i concetti dei sistemi operativi ai suoi studenti; la prima versione è stata pubblicata nel 1987 ed era accompagnata da un libro che descriveva in dettaglio il design del sistema. Un progetto simile chiamato XINU (per Xinu Is Not Unix ) è apparso anche negli anni '80 sotto la direzione di Douglas Comer .
Il gran numero di varianti di Unix, ciascuna con le proprie specificità, consente ai sistemi Unix di essere utilizzati in un gran numero di ambienti diversi.
Diversi sistemi operativi per dispositivi mobili ( smartphone , tablet , PDA, ecc.) Sono sistemi Unix. Possiamo citare in particolare iOS e Android , che condividono oltre l'85% del mercato degli smartphone.
Da novembre 2017, Linux è l'unico sistema operativo utilizzato dai 500 supercomputer più potenti al mondo. Altri sistemi Unix erano ancora installati su alcuni di questi computer nel 2016. Tra il 1995 e il 2000 , sistemi Unix diversi da Linux (in particolare Berkeley Software Distribution , Solaris , AIX , UNICOS e HP-UX ) sono stati installati su oltre il 90% di questi computer. .
Oggi rimangono solo poche versioni di Unix prodotte dai principali produttori di workstation e server :
La filosofia dei produttori di stazioni e server Unix è stata fin dall'inizio quella di sviluppare un sistema operativo per poter vendere le proprie macchine, aggiungendo se possibile un po 'di "più" per distinguersi dalla concorrenza. Questo per dimenticare che i parchi Unix sono molto spesso eterogenei e che qualsiasi differenza da una macchina all'altra, anche creata con la migliore intenzione del mondo, minaccia l'interoperabilità e quindi costituisce un rischio reale di contro-produttività perché gli informatici a molte noiose manipolazioni per interconnettere i sistemi.
Questo è uno dei motivi per cui molti di questi produttori ora offrono il sistema GNU / Linux con i loro server. Tuttavia, le differenze tra le diverse distribuzioni Linux spesso pongono gli stessi problemi, anche se a un livello inferiore.
Alcuni software di progettazione assistita da computer sono stati a lungo disponibili solo per le workstation Unix, ma poiché questo mercato si restringe, è diventato disponibile anche per altri sistemi. Questo è ad esempio il caso di CATIA , utilizzato in particolare da grandi produttori industriali come Dassault Aviation , PSA Peugeot Citroën o Boeing , che opera con Microsoft Windows dalla versione 5 , la cui versione Unix è stata abbandonata dalla versione 6 .
I sistemi Unix hanno in comune diversi concetti sviluppati dalle prime versioni di Unix presso i Bell Laboratories.
Unix è stato originariamente progettato per avere molti piccoli programmi, ognuno dei quali esegue un numero limitato di attività, il più delle volte solo uno, il più delle volte che agisce su flussi di testo e in grado di essere interconnessi tramite pipe . Questa idea era relativamente innovativa all'inizio degli anni '70 e contribuì al rapido successo di Unix tra i programmatori.
I sistemi Unix hanno un gran numero di interpreti di comandi , chiamati shell Unix . Si possono menzionare in particolare sh , bash e tcsh .
Un'altra particolarità di Unix è quella di considerare un gran numero di oggetti come file: dalle prime versioni di Unix, i dispositivi di input / output vengono gestiti come file di un tipo speciale. Ciò consente, ad esempio, a livello di applicazione, di scrivere su un nastro magnetico allo stesso modo di un file standard che verrebbe memorizzato su disco.
Unix ha un file system gerarchico, che supporta alcune funzionalità come i collegamenti simbolici , che consentono di reindirizzare un file a un altro, e un sistema di permessi che consente di dare permessi diversi al proprietario del file, agli utenti del suo gruppo e ad altri utenti .
A differenza di molti altri sistemi (come Microsoft Windows o Mac OS Classic, ad esempio), che hanno una radice del file system indipendente per dispositivo di archiviazione o partizione, il file system Unix ha una radice singola ed è possibile accedere ad altri dispositivi di archiviazione tramite punti di montaggio in il file system. Ad esempio, la cartella / home , che contiene i file personali degli utenti, viene spesso archiviata su un dispositivo o una partizione diversa da root; Una volta che questo dispositivo è stato montato nella cartella / home , le richieste di file che si trovano in / home verranno reindirizzate a questo dispositivo.
L'organizzazione dell'albero del file system è definita da alcune convenzioni che esistono dalla versione 7 di Unix , dove è apparsa la pagina man che lo descrive. Il Filesystem Hierarchy Standard cerca di armonizzare le differenze che potrebbero essersi sviluppate, specialmente tra le diverse versioni di Linux.
Il gran numero di sistemi Unix sviluppati sulla base di AT&T System V o BSD ha portato i membri del gruppo di utenti / usr / group , che da allora ha preso il nome UniForum, a forgiare uno standard UNIX già nel 1980 al fine di '' garantire massima portabilità tra i diversi sistemi:
Oggi, il marchio UNIX è di proprietà di Open Group . Per ottenere l'autorizzazione a utilizzare ufficialmente questo marchio per un sistema operativo, è necessario che sia conforme alla Single UNIX Specification .
«© Copyright 2003 Jean-François Pillou - Ospitato da Web-solutions.fr. Questo documento di CommentCaMarche.net è soggetto alla licenza GNU FDL. Puoi copiare, modificare copie di questa pagina purché questa nota appaia chiaramente. "