Unix (registrato ufficialmente come UNIX) è un sistema operativo portabile per computer inizialmente sviluppato da un gruppo di ricerca dei laboratori AT&T e Bell Laboratories, nel quale figurarono sulle prime anche Ken Thompson e Dennis Ritchie.
Unix è stato progettato nei Bell Laboratories (AT&T Corp.). Il primo sistema operativo che può definirsi a tutti gli effetti come “Unix” fu sviluppato da Ken Thompson nel 1969 per poter eseguire un programma chiamato “Space Travel”.
Lo sviluppo di Unix si deve in parte a un progetto precedente, Multics, abbandonato ben presto dalla direzione dei Bell Laboratories perché ritenuto troppo complesso.
Multics nacque con presupposti molto avanzati per l’epoca, in particolare era un sistema operativo in grado di supportare l’esecuzione di applicazioni in timesharing. Si scelse di svilupparlo internamente, dato lo scarso supporto che l’allora produttore di computer dava a questo aspetto. Si chiamava BESYS il sistema operativo che veniva montato di default sulle macchine, e si trattava più che altro di una semplice estensione dell’hardware.
Fu con l’intento di automatizzare queste operazioni (timesharing), che nacque Multics (Multiplexed Information and Computing Service). Il progetto si rivelò però troppo complesso, specie per i ricercatori abituati ai sistemi operativi classici e perfettamente lineari. Fu ben presto abbandonato a favore di un altro sistema nettamente più semplice, ma anche molto più modesto: GECOS.
In seguito al completamento del primo kernel, Thompson e altri ricercatori elaborarono una serie di principi di programmazione:
- si fa in modo che ogni programma faccia una sola cosa e bene;
- ci si aspetta che l’output di un programma diventi l’input di un altro;
- si sviluppa software con l’idea che esso verrà provato subito: non si esiti a condividere il programma;
- si usano degli strumenti appositi nella programmazione e non si cerca di “reinventare la ruota”.