2 UNIX in breve


2.1 Le radici

UNIX nacque da un clamoroso fiasco del M.I.T, AT&T e General Electric (a quel tempo venditori di computer) che si riunirono, nella metà degli anni 60, per progettare un sistema operativo in grado di servire centinaia di utenti su un hardware poco più potente di un PC/AT. MULTICS (Multiplexed Information and Computing Service), fu pensato come un sistema modulare costruito da banchi di processori ad alta velocità, memorie ed attrezzature per la comunicazione. Il sistema, nato per scopi militari e sponsorizzato dal DARPA (Department of Defense Advanced Research Projects Agency), doveva fornire un servizio informatico 24 ore su 24 e 365 giorni l'anno consentendo alte caratteristiche di fault-tollerance, in particolare alcune parti del sistema potevano essere staccate senza influire sugli utenti o sulla funzionalità di altre parti del sistema. La modularità gli avrebbe anche consentito di potenziarsi con l'aggiunta di componenti nello stesso modo in cui una centrale elettrica cresce con l'aggiunta di turbine, fornaci e bollitori. Una delle ragioni che portò al fallimento di MULTICS fu il fatto che venne scritto in PL/1, il cui compilatore fu consegnato in ritardo e mal funzionante. Un altro motivo fu che il progetto era troppo ambizioso per quei tempi.
Quando l'AT&T si sganciò dal progetto, uno dei suoi ricercatori Ken Thompson, che aveva lavorato su MULTICS, decise di riscrivere una versione semplificata dello stesso in assembler su un microcomputer PDP-7. Il nuovo sistema operativo, progettato solo per far girare programmi, venne poi chiamato da un altro ricercatore, Brian Kerningham, UNICS che sta per Uniplexed Information and Computing Service. In realtà fu piuttosto un gioco di parole legato a "EUNUCHS" (eunuco) per sottolineare che qualcosa era stata tolta a MULTICS. In seguito UNICS divenne UNIX.
Successivamente Dennis Ritchie, propose il porting di UNIX su PDP-11/20, PDP-11/45 e PDP-11/70, più potenti di un misero PDP-7. Gli ultimi due consentivano la possibilità di servire più utenti contemporaneamente grazie alla protezione hardware della memoria. In seguito UNIX fu riscritto in linguaggio C da Thompson e Ritchie per rendere maggiormente portatile il sistema su nuove macchine. La pubblicazione di un articolo nel 1974, spinse molte università a chiedere una copia del codice sorgente di UNIX ottenuta a basso costo dalla AT&T (dal momento che per le leggi sull'anti-trust non poteva trattare la vendita dei computer essendo una compagnia telefonica). Tutto ciò ne consentì un veloce miglioramento ed una rapida diffusione. Tra le versioni più famose si ricordano quella BSD dell'Università di Berkeley, la System V della AT&T (quando gli fu concesso di vendere computer), l'AIX della IBM e lo Xenix della Microsoft.

Figura 2.1: le varie versioni di Unix

Come si evince dalla figura 2.1, esiste una pletora di versioni Unix [1] derivate da diverse definizioni: quelle più famose la BSD dell'Università di Berkeley, che ha contribuito maggiormente all'evoluzione e distribuzione di Unix, il sistema Mach dell'Università di Carnegie Mellon e il System V.3 della AT&T. Tutte le altre definizioni provengono da queste tre principali. Le frecce nella figura indicano per le varie versioni di Unix, la distribuzione di provenienza.

[1] Il sistema Unix usato per i tests realizzati in questo lavoro è il FreeBSD che rappresenta la versione free del BSD di Berkeley caricato sulla maggior parte dei server degli ISP (Internet Service Provvider) del mondo.

Malgrado la carenza di unificazione, il numero dei sistemi Unix continua a crescere. A metà degli anni 90, Unix correva su circa 5 milioni di computer in tutto il mondo da piccoli PC IBM fino ai grandi supercomputer Crays. Grazie alla sua estrema adattabilità, Unix è il sistema operativo che viene scelto per computer dagli attuali microprocessori ad alte prestazioni. Per la disponibilità del codice sorgente (freeware) è largamente utilizzato dalle Università, dai college e dalla comunità scientifica grazie alla possibilità di modificare il codice dei sui tools per adattarli alle esigenze degli scienziati.
Unix è diventato popolare anche nel campo degli affari. Gran parte di questa popolarità è da attribuire agli sviluppatori che hanno preferito usare Unix nelle loro applicazioni per il business. A questo si sono aggiunte le caratteristiche dell'ambiente client-server che un sistema Unix supporta molto bene.

2.2 Il sistema operativo

Il sistema operativo Unix può essere visto come composto da tre parti principali:

2.3 Sicurezza (specificazioni NCSC per Unix)

Sulla sicurezza di Unix Dennis Ritchie scrisse: << It was not designed from the start to be secure. It was designed with the necessary characteristics to make security serviceable. >> Cioè Unix non è stato progettato per essere sicuro ma è stato concepito con le necessarie caratteristiche per rendere la sicurezza funzionale.

Dal punto di vista dello NCSC tutte le versioni tradizionali di UNIX appartengono alla classe C1. Il Governo USA ha richiesto che entro il 1992 tutti i sistemi UNIX da esso impiegati raggiungano almeno il livello C2. Inoltre, dal 1992, il Pentagono acquista solamente sistemi di classe B2, cioè sistemi molto affidabili. Per quanto riguarda le singole versioni di UNIX possiamo fornire alcuni esempi:

È il caso di osservare che la notevole espansione del sistema UNIX in tutti gli ambienti (compresi quelli militare, giudiziario, bancario, ecc.) ha portato al proliferare di diversi UNIX "secure" per cui non è più fondata la cattiva fama di UNIX come sistema insicuro.
Dall'Orange Book nel 1991 è stata ricavata una rielaborazione adottata da alcuni paesi europei nota anche come "White Book" il cui nome ufficiale è "Information Technology Security Evaluation Criteria". Ma questo non era l'unico documento adottato dai paesi europei per cui la CEE ha redatto un manuale di riconoscimento delle diverse procedure: l'"IT Security Evaluation Manual" (ITSEM) ancora pubblicato nel 1991.


Precedente Torna su Successivo