Com’è nato il sistema operativo più evoluto al mondo?
Unix dopo trent’anni è ancora un sistema attuale, perchè sono disponibili numerose varianti open-source, perchè la sua implementazione consente una gestione ottimale delle risorse di sistema, perchè da agli amministratori di sistema potenzialità elevatissime ed infine perché è largamente utilizzato in tutti gli ambiti in quanto ritenuto lo stato dell’arte per sicurezza e stabilità.
Paradossalmente Unix nasce dalle ceneri di un progetto andato a finire male: negli anni 60′ la nota multinazionale americana AT&T contattò i migliori esperti nel campo informatico con scopo di realizzare un nuovo sistema operativo del tutto rivoluzionario dalle potenzialità elevatissime noto come Multics. Purtroppo, causa i limiti tecnici dell’epoca, il progetto fallì, e così, lo staff, composto dai migliori professionisti e ricercatori dell’epoca, si ritrovò nei laboratori della società Dell (all’epoca un ramo della AT&T), a cui era affidato . Ad alcuni di questi informatici, tra i quali compaiono nomi come Dennis Richie (il padre insieme a Kerninghan del linguaggio C), venne l’idea di creare un videogames tipo il classico “space invaders”. Fu così che cominciarono a scrivere una prima forma di sistema operativo, dotato di un interprete di comandi programmabile, inoltre venne introdotto per la prima volta in un sistema il concetto di time-sharing1, e questa fu una vera rivoluzione nel mondo dell’informatica. Richie e
FILOSOFIA SULLA QUALE E NATO UNIX
-Ogni programma o funzione, deve fare solo una cosa e bene.
-Ci si aspetta che molto probabilmente l’output di un programma sarà l’input di un altro
-Si sviluppa sempre con l’idea che il software verrà condiviso ed integrato con altri software
Con queste basi, il primo gennaio 1970 il sistema operativo Unics (ribattezzato poi Unix) vide la luce. Inizialmente si guardava a tale sistema con scetticismo, all’epoca i pochi programmatori esistenti programmavano sistemi lineari e monoprocesso, ed il concetto di sistema operativo stesso era assai labile: si riferiva ad esso come ad un software utile per configurare l’hardware, più che ad un sistema per la gestione quotidiana dello stesso.
Fatto il sistema, si rese necessario creare un metodo di comunicazione efficiente e semplice per inviare i vari comandi e riceverne i risultati, fino ad allora si programmava sostanzialmente utilizzando schede perforate oppure inviando comandi in linguaggio di bassisimo livello. Con l’avvento di Unix nacque così la prima shell, sviluppata da Steven Bourne.
Il termine indica una tecnica che consiste nella suddivisione del tempo di calcolo del processore in quanti di tempo da assegnare a processi diversi. Fu descritto per la prima volta nel 1957 da Robert Bemer (1920 – 2004), ingegnere e matematico, pioniere dell’informatica.
Tuttavia AT&T donò a quel punto il progetto Unix all’ università di Berkley, senza intuire le enormi potenzialità di quel sistema, e da qui che si sviluppò poi la versione di Unix nota come Free-BSD. Nell’università venne creata una nuova shell, csh, con lo scopo di essere più simile al linguaggio C. Da qui in poi la diffusione di sistemi Unix-like nel mondo universitario ha preso piede, e sono state create numerossissime versioni di shell, la svolta fu quando il progetto GNU (sta per GNU is not Unix), portato avanti da Richard Stallmann non si propose di creare una nuova shell del tutto libera e priva di ogni sorta di restrizione.
Nacque così Bash (Bourne again Shell). Da allora bash si è evoluto fino ai giorni nostri, ed è senza dubbio l’interprete di comandi più usato. La shell BASH è conforme allo standard POSIX. Posix è l’acronimo di Portable Operating System Interface for uniX, cioe’ interfaccia standard per il sistema operativo Unix, più precisamente si tratta di uno standard creato verso la fine degli anni 80’ allo scopo di uniformare le varie versioni di Unix. Come già detto precedentemente, esistono numerosissime versioni di sistemi basati su Unix, detti appunto Unix-like, possiamo citarne alcuni come le distribuzioni di Linux Ubuntu, Figura 3 Richard Stallman, padre Suse, Red Hat, Debian, Slackware, ecc. poi vi sono le varianti di del software libero.
La differenza sostanziale tra queste numerose distribuzioni sta nel desktop envroiment, ovvero l’interfaccia che il sistema ha con l’utente (sia KDE o Gnome per i sistemi Linux, oppure Quarz per i MacOS), ma il cuore del sistema (kernel) è sempre il medesimo, che a distanza di tanti anni è ancora considerato lo stato dell’arte dei sistemi operativi.