La storia del sistema operativo UNIX inizia nei laboratoriBell diAT&T negli anni '60. Gli informatici statunitensiKen Thompson eDennis Ritchie sono stati tra i principali sviluppatori che hanno lavorato su questo progetto. UNIX è nato come un’evoluzione del progettoMultics, che era troppo complesso e pertanto fu abbandonato.
Nel1969, Thompson scrisse la prima versione di UNIX su un computerDigital Equipment CorporationPDP-7. Successivamente, Ritchie riscrisse gran parte del sistema operativo inlinguaggio C, rendendolo più portabile e flessibile. Questa riscrittura ha permesso a UNIX di essere eseguito su diverse piattaforme hardware, un fattore chiave per la sua diffusione.
Negli anni '70, UNIX fu adottato da molte università e istituti di ricerca, contribuendo alla sua evoluzione e miglioramento. La versione 7 di UNIX, pubblicata nel 1979, è stata una delle versioni più influenti, introducendo molte delle caratteristiche che sono ancora presenti nei sistemi operativi moderni.
Negli anni '80, UNIX ha visto una commercializzazione significativa con la nascita di diverse varianti comeBSD (Berkeley Software Distribution) eSystem V. Queste varianti hanno portato a una frammentazione del mercato, ma anche a una grande innovazione.[2]
Mascotte diLinux, sistema operativo derivato da UNIX
Il sistema operativo Unix può essere riassunto in base alle seguenti caratteristiche:
Multiutente: Permette a più utenti di interagire contemporaneamente con il sistema da terminali diversi, evitando interferenze tra le attività degli utenti. Ogni utente è identificato univocamente da un nome logico (username) e suddiviso in gruppi, ciascuno identificato da un nome (groupname). Il sistema definisce anche un utenteroot, che rappresenta l’amministratore di sistema e non ha limitazioni nell’accesso alle risorse.
Multiprogrammato (multitasking): Ilkernel supporta l’esecuzione contemporanea di più processi gestiti tramite divisione di tempo (timesharing).
Gestione della memoria virtuale: Utilizza paginazione e segmentazione per consentire a ogni processo di indirizzare un’area di memoria potenzialmente superiore alla memoria centrale disponibile.
Portabile: Grazie all’uso dellinguaggio C, Unix è altamente portabile e disponibile su una vasta gamma di architetture hardware.
Aperto: Le versioni più recenti si sono uniformate allo standardPOSIX. Unix implementa anche molti dei servizi e protocolli di comunicazione più diffusi su Internet, facilitando l’integrazione dei sistemi Unix in una rete.
Ambiente di sviluppo per programmi in C: Mantiene uno stretto legame con il linguaggio di programmazione C, offrendo un ricco insieme di strumenti per lo sviluppo di applicazioni in C, tra cui il compilatore cc.