La storia di UNIX e Linux
UNIX è un sistema operativo sviluppato alla fine degli anni '60.
I computer di quell'epoca erano macchine grandi gestite tramite più terminali.
Questi terminali erano semplici combinazioni di schermo e tastiera senza una propria CPU.
Fino alla metà degli anni '60, tutti i dati venivano elaborati utilizzando schede perforate.
Questo ha portato allo sviluppo di sistemi di time-sharing in grado di caricare più programmi simultaneamente.
Assegnando il tempo del processore a intervalli di tempo, questi sistemi hanno permesso l'esecuzione concorrente di più attività.
Questo approccio è ancora oggi conosciuto come multitasking.
Utilizzare più terminali su un singolo computer ha anche permesso a diversi utenti di lavorare simultaneamente sulla stessa macchina.
Questi sistemi sono conosciuti come sistemi multiutente.
Era anche possibile assegnare permessi diversi agli utenti singoli.
Presso i Bell Laboratories, furono fatti tentativi di sviluppare un sistema multiutente.
Il progetto si chiamava MULTICS (Multiplexed Information and Computing System).
Tuttavia, il progetto venne successivamente interrotto.
Nel 1969, Ken Thompson, un impiegato dei Bell Labs, continuò il progetto.
Voleva portare un gioco che aveva sviluppato su un computer a schede perforate su un DEC PDP/7.
Per farlo, dovette sviluppare un piccolo sistema multitasking.
Insieme a Dennis Ritchie, progettarono un file system gerarchico, la gestione della memoria per le quattro KWords del computer, e la gestione dei processi e del time-sharing.
Il sistema poteva essere utilizzato contemporaneamente da due utenti.
Brian Kernighan scherzosamente chiamò questo sistema UNICS (Uniplexed Information and Computing System).
A causa della limitata memoria del computer di quattro KWords, venne abbreviato in UNIX.
Il nome UNIX rimase in uso anche successivamente.
Nel 1971, il sistema veniva già utilizzato internamente presso i Bell Labs.
Venne poi portato su un PDP/11 molto più potente.
Poiché UNIX era scritto in linguaggio assembly, questo richiese una quantità significativa di lavoro.
Per rendere il sistema più portabile, gli sviluppatori di UNIX cercarono un linguaggio di programmazione di alto livello adatto allo scopo.
Dennis Ritchie sviluppò un nuovo linguaggio di alto livello ispirato al linguaggio di programmazione B e lo chiamò C.
Nel 1973, la maggior parte di UNIX era scritta in C.
Nel 1974, i Bell Labs resero il codice sorgente basato su C disponibile gratuitamente per le università, dando il via alla rapida diffusione di UNIX.
Da questo momento in poi, emersero diverse versioni di UNIX.
L'Università della California, Berkeley, sviluppò la propria versione di UNIX, che in seguito divenne conosciuta come BSD UNIX (Berkeley Software Distribution).
Oggi esistono più distribuzioni BSD, tra cui FreeBSD, OpenBSD e NetBSD, tra le altre.
Nel 1979, UNIX venne rappresentato da AT&T come successore dei Bell Labs, in concomitanza con il rilascio della prima versione di BSD.
Negli anni '70, il software veniva scambiato liberamente tra gli sviluppatori sotto forma di codice sorgente.
Tuttavia, alla fine degli anni '70 e all'inizio degli anni '80, le aziende iniziarono a rilasciare il software sotto licenze restrittive e a mantenere segreti i codici sorgente.
Anche il codice sorgente di UNIX venne licenziato e distribuito da AT&T da questo momento in poi.
Per garantire che il software potesse ancora essere scambiato e sviluppato liberamente, Richard Stallman fondò il GNU Project nel 1983.
Scelse l'acronimo ricorsivo GNU (GNU's Not UNIX) come nome per il progetto.
Il progetto GNU mirava a creare un sistema operativo simile a UNIX ma libero.
Alla fine degli anni '80, oltre a BSD, esistevano diverse distribuzioni di UNIX.
Sun Microsystems, che da tempo offriva SunOS come una variante puramente BSD, sviluppò un nuovo sistema operativo basato su System V chiamato Solaris.
Nel 1989, venne introdotta la versione UNIX System V Release 4, con l'obiettivo di unificare gli sviluppi di diverse distribuzioni.
Ancora oggi, la maggior parte dei fornitori aderisce a questi standard.
Nel 1991, lo studente finlandese Linus Torvalds iniziò a sviluppare un sistema UNIX libero basato sul sistema operativo Minix.
Utilizzò il compilatore C GNU, che garantiva un'alta portabilità.
Torvalds rilasciò il sistema sotto i principi del progetto GNU.
La distribuzione libera di Linux portò una significativa rinascita nel mondo di UNIX.
Linux fu ulteriormente sviluppato da numerosi programmatori, dando vita nel tempo a una vasta varietà di distribuzioni.
Questi sistemi operativi sono composti dal kernel Linux e dal software GNU.
Di conseguenza, vengono spesso chiamati GNU/Linux.
Oggi, una grande parte dei server a livello mondiale utilizza un sistema operativo UNIX o LINUX.