Il computer così come lo conosciamo, ossia un dispositivo di dimensioni ridotte e relativamente economico, capace di svolgere numerose funzioni di calcolo in brevissimo tempo, è una invenzione assai recente e ha raggiunto la sua popolarità e diffusione solo negli ultimi decenni.
Credo che una panoramica storica sia dovuta, in questo articolo si parlerà certamente di computer ma in maniera più specifica di Sistemi Operativi (OS).
Il Sistema Operativo è quel software che permette ai vari componenti hardware e software del calcolatore di interagire correttamente tra di loro permettendo di eseguire operazioni in maniera simultanea1.
Verso la metà degli anni '40 e '50 le grosse macchine computazionali erano difatti prive di sistema operativo, si trattava di macchinari di dimensioni massicce il cui funzionamento era ancora basato sui tubi a vuoto anche detti valvole termoioniche, venivano messe in funzione solo quando veniva immessa la scheda forata o magnetica che faceva partire il programma e resettati dopo ogni utilizzo.
Fu solo a partire degli anni '60 che, con l’invenzione del transistor, si vide una rivoluzione nell’ambito dei computer e i primi sistemi operativi comparvero sul mercato, programmati specificamente per la macchina (spesso di marchio IBM) e per il compito per cui era stata acquistata. I sistemi operativi in quest’epoca erano sviluppati principalmente dalle stesse aziende che impiegavano i macchinari e non dal produttore. Il primo OS fu infatti sviluppato dalla General Motors per una macchina IBM 704 (foto apertura) da loro impiegata chiamato GM-NAA I/O ed il suo compito era semplicemente quello di eseguire un nuovo programma subito dopo il completamento del precedente.
Verso gli anni '70 si vide la nascita del “minicomputer” e del “microcomputer”, e in parallelo di numerosi sistemi operativi, queste macchine venivano impiegate da varie società ed università e solo da pochi appassionati in quanto i costi e la difficoltà di manutenzione di queste ultime non erano alla portata del vasto pubblico. Molte di queste macchine erano basate su sistema operativo Unix, sviluppato inizialmente dall’azienda americana AT&T.
Solo negli anni ottanta si affacciarono sul mercato quelli che possiamo definire Home Computer, con Microsoft ed Apple a guidare questa rivoluzione digitale.
I primi sistemi operativi da personal computer non erano particolarmente facili da utilizzare, difatti erano piuttosto criptici e privi di una vera e propria interfaccia grafica, fu nel 1984 che venne lanciato sul mercato il primo Mac OS, il primo sistema operativo per personal computer dotato di una interfaccia grafica.
Qualche anno prima tuttavia, nel 1981, la nascita di MS-DOS (Microsoft Disk Operating System) pose le basi della maggior parte dei sistemi operativi che verranno utilizzati nei decenni a seguire da numerose macchine, ne seguì quattro anni dopo il primo sistema operativo ad interfaccia grafica sviluppato dalla stessa Microsoft, stiamo parlando di Windows 1.0 anche se si dovrà aspettare alla versione 3.0 per vedere la piattaforma Windows acquistare grande popolarità sul mercato.
Nei primi anni novanta, quando i software proprietari Windows e Apple erano già dominanti nel mercato si affacciò un nuovo concetto di OS. Grazie alla creazione del kernel Linux da parte del giovane studente finlandese Linus Torvalds, si vide la diffusione del sistema operativo GNU (GNU’s Not Unix) combinato con il kernel Linux, distribuito come software libero. In questi ultimi tre decenni sono nate numerose distribuzioni di Linux, create principalmente da gruppi di utenti interessati nel progetto e tutte distribuite secondo la licenza di software libero. Tra le più famose Linux Red Hat, Debian, Gentoo ecc.
Da tutti questi software derivarono negli anni seguenti molteplici versioni successive e negli anni 2000 si videro sul mercato i sistemi operativi per telefoni cellulari e tablet quali Symbian, Android, iOS, Windows Phone ecc.
La grande maggioranza dei sistemi operativi qui sopra citati sono derivati da Unix, il sistema operativo nato nell’anno 1969 nei laboratori Bell, di proprietà dell’azienda americana di telecomunicazioni AT&T, gli stessi laboratori che videro la scoperta del transistor, del linguaggio di programmazione C e di numerose scoperte in ambito di telecomunicazioni e spazio.
Il software Unix divenne subito utilizzato dalla AT&T e venne distribuito a numerose università che lavorarono sul codice sorgente per adattare l’OS alle loro necessità.
Quando AT&T si suddivise in numerose aziende più piccole il sistema operativo Unix smise di essere software “libero” e da ciò ne conseguì la creazione nel 1983 di GNU da parte di Richard Stallman (foto). GNU è un OS basato fortemente sull’architettura Unix, ma riscritto in modo che contenga solamente software libero.
Unix è anche alla base del software proprietario di Apple macOS e parzialmente anche di Microsoft Windows in quanto per lungo tempo l’azienda acquisì licenze per utilizzo di software dalla AT&T, anche Android, uno degli OS più utilizzati per mobile è proprio detto Unix-Like in quanto basato sul kernel di Linux, appunto derivato da Unix stesso.
Tutti questi sistemi operativi condividono dunque una base comune, per poi essersi sviluppati a seconda delle loro diverse necessità e ne sono stati ideati molteplici per utilizzi specifici quali la gestione di reti di computer, i cosiddetti Server Operating Systems come ad esempio Microsoft Server e RHEL.
Per gli utenti più “coraggiosi” che volessero provare un sistema operativo curioso e sicuramente non convenzionale non potrei non citare TempleOS.
Progettato da Terrence Andrew Davis a partire dal 2003 fino alla sua morte 15 anni dopo, si compone come un sistema operativo di tipo monolitico, con similitudini all’OS del Commodore 64.
La concezione di questo OS è sicuramente interessante in quanto Davis, che soffriva di schizofrenia da anni, diceva di essere in contatto diretto con Dio, il quale proprio come con un profeta, dettò a Davis come costruire il suo “Terzo Tempio” come quello di Salomone in Gerusalemme. Tra queste indicazioni ad esempio vi fu il volere di ammettere solo una risoluzione di 640x480 o grafiche a solo 16 colori.
Ora non sta a noi decidere se TempleOS sia stato adattato realmente al volere di Dio, ma possiamo provarlo per passatempo e curiosare le sue varie stranezze.
1 An integrated collection of service routines for supervising the sequencing of programs by a computer. An operating system may perform the functions of input/output control, resource scheduling, and data management. It provides application programs with the fundamental commands for controlling the computer. Fonte: NIST SP 800-82 Rev. 2 from The Automation, Systems, and Instrumentation Dictionary.
Foto: web / Sam Williams