Il Sistema Operativo: l'anima dei PC

(di Carlo Mauceli)
05/07/21

Possiamo affermare che la prima grande rivoluzione informatica si è avuta con la nascita dei Sistemi Operativi che ha permesso, di fatto, al mondo intero, l’utilizzo dei device.

Grazie a tecnologie più veloci e sempre “meno costose”, i computer hanno avuto uno sviluppo esponenziale ed il sogno di Bill Gates, ossia avere un computer su ogni scrivania, si è avverato. Non solo; si è andati ben oltre tanto che al giorno d’oggi, rispetto al passato, è disponibile una grande varietà di sistemi di elaborazione e non c’è più bisogno di una scrivania ma bastano le nostre tasche.

Vediamo, pertanto, come sono nati i sistemi operativi e, realmente, cosa sono.

Per semplificare le cose, un sistema operativo è un software che viene caricato all’avvio del computer e che permette l’utilizzo di altri software. Possiamo dire che, in assoluto, è il software più utilizzato nella vita di un computer ed è il mezzo attraverso il quale il computer stesso vive. Senza il sistema operativo molte operazioni non potrebbero esistere.

Possiamo dividere il sistema operativo in due grandi classi:

  • La prima è quella testuale;
  • La seconda, è quella grafica. Di fatto, la più utilizzata.

Se andiamo a ritroso nel tempo, il progenitore del sistema operativo possiamo datarlo tra il 1945 e il 1955 quando comparvero i primi elaboratori elettronici dotati di valvole termoioniche. Si trattava di macchine costosissime in cui i programmi venivano scritti in linguaggio macchina ed inseriti nel programmatore attraverso lettori di schede perforate ed i cui risultati venivano, successivamente, inviati alla stampante.

Nel decennio che va dal 1955 al 1965 comparvero i primi elaboratori affidabili, i cosiddetti Mainframe, grazie all’invenzione dei transistor che sostituirono le valvole termoioniche. Si trattava sempre di macchine iper-costose e gigantesche i cui acquirenti erano soltanto banche, Università e Centri di Calcolo. Contestualmente nasce anche il primo vero linguaggio di programmazione, il Fortran, il quale consente di avere un numero sempre crescente di programmatori.

E qui, finalmente, arriviamo al primo vero Sistema Operativo, prodotto dalla General Motors per il proprio IBM 701. Dal momento che non era ancora stata introdotta la tecnologia di accesso diretto alla memoria (DMA) tutte le operazioni di input/output erano a carico della CPU il che rallentava terribilmente l’esecuzione vera e propria. Per questa ragione si adottò la soluzione a lotti, i cosiddetti batch, per cui l’I/O viene gestito da un calcolatore più economico come l’IBM 1401 e l’elaborazione affidata ad un calcolatore centrale come l’IBM 7094. Il sistema operativo di questi calcolatori, il cosiddetto Batch Monitor, svolgeva pochi servizi quali la gestione dell’Input/Output e l’interpretazione ed esecuzione dei comandi contenuti nelle schede di controllo.

Nei primi anni 60, con lo sviluppo sempre maggiore dei transistor, si hanno i primi sistemi operativi in multiprogrammazione time-sharing e sistemi real-time per il controllo di processo. Nel 1962 al MIT si realizza il CTSS, il primo sistema time-sharing, su un IBM 7094 ed è in questo periodo che il MIT, la General Electric e i Bell Labs sviluppano, in modo congiunto, MULTICS, un sistema operativo in grado di supportare centinaia di utenti in time-sharing, una sorta di pietra miliare che ha influenzato lo sviluppo dei sistemi operativi che sarebbero arrivati successivamente.

La primavera del 1964 vede la nascita di IBM OS/360, un sistema operativo omnicomprensivo in grado di gestire il batch, il time-sharing e il real-time, di supportare sia il calcolo scientifico, con il linguaggio Fortran, che quello commerciale, con il linguaggio gestionale Cobol, realizzato l’anno successivo.

Negli anni immediatamente successivi, con lo sviluppo dei minielaboratori, vengono sviluppati appositi sistemi operativi tra cui, il più famoso, è UNIX.

Con l’avvento di UNIX, avvenuto nel 1969, entriamo in una nuova era che vede la nascita di sistemi operativi eterogenei:

  • OS/370 di IBM che introduce il concetto di macchina virtuale;
  • VM/CMS, nato nel 1972;
  • Sistemi operativi distribuiti su una rete di processori.

Questi sistemi operativi offrono, per la prima volta, funzioni che prima erano caratteristica dei programmi applicativi determinando la nascita di elaboratori multiprocessore.

Non possiamo a questo punto non dedicare un momento a UNIX. Questo sistema fu progettato a partire dal 1969 da un gruppo di ricercatori della AT&T presso i Bell Labs tra cui sono degni di menzione Ken Thompson che lavorò anche al progetto Multics e Dennis Ritchie, uno dei pionieri dell'informatica moderna, importante per essere stato l'inventore del linguaggio C.

La nascita di UNIX ha dato luogo ad una serie di varianti come BSD (Berkley Software Distribution), SCO System V, Minix e, successivamente, LINUX (che nasce come kernel) realizzato da Linus Torvalds.

A cavallo degli anni 70/80 assistiamo al fenomeno dell’abbattimento dei costi hardware grazie allo sviluppo della tecnologia LSI (Large Scale Integration) e alla costruzione di chip integrati e alla nascita dei Personal Computer in grado di avere prestazioni simili a quelle dei calcolatori medio-grandi di 10 o 20 anni prima. Contestualmente, nel 1964, nasce il Basic, un nuovo linguaggio di programmazione.

I più importanti sistemi operativi di questo periodo sono:

  • CP/M-80 della Digital Research per le CPU Intel 8080 e Z-80;
  • MS-DOS di Microsoft, simile al CP/M-8 adottato da IBM per il proprio Personal Computer, lanciato nel 1981 e che pose le basi per lo sviluppo di Microsoft.

Questi anni sono estremamente vivaci e fertili dal punto di vista informatico ed anche l’Italia ne trae beneficio con l’affermazione e la successiva rapida crescita di Olivetti che nel 1972 costituisce a Ivrea il Servizio Sviluppo Software che può contare sulle esperienze maturate da alcuni ingegneri negli USA presso il MIT. È da questo gruppo, svincolato dai gruppi di sviluppo prodotto per rispondere ad una strategia di rilancio decisa dal top management di allora, l’amministratore delegato Ottorino Beltrami e la responsabile del product planning Marisa Bellisario, che tra il 1973 e il 1975 nasce il Cosmos, sistema operativo del TC 800.

Il TC 800 è un sistema di terminali bancari video-tastiera, ciascuno dei quali ha memoria e disco sufficienti per elaborare la parte locale della transazione bancaria di sportello. I terminali sono poi collegati al master, sempre della stessa famiglia, che concentra il tutto colloquiando con l'elaboratore centrale (in genere un grosso IBM). L'importanza dell'innovazione consiste nel fatto che l'elaborazione non avviene più tutta al centro, ma in parte si svolge presso i terminali di sportello, che diventano parte attiva di un sistema complesso.

La posizione di avanguardia in questo campo si conferma a inizio anni '80 con Cosmos II, su minicomputer S1000, un sistema che presenta protocolli LAN e WAN standard ISO ed ECMA, organismi internazionali di standardizzazione in cui Olivetti gioca un ruolo di rilievo.

Le competenze acquisite nel software consentono in seguito alla Olivetti di avere un ruolo importante anche nei grandi programmi sia italiani (Progetto finalizzato Informatica del CNR), sia europei (Progetto Esprit dell'Unione Europea).

A partire dal 1984 esplodono i sistemi operativi con interfaccia grafica. Ispirandosi all’interfaccia grafica sviluppata da Xerox qualche anno prima, Apple dà vita, sul Macintosh, a Mac OS che rappresenta il primo sistema operativo per PC con interfaccia grafica che rappresentò una vera rivoluzione.

Subito dopo assistiamo alla nascita di X Windows System in ambiente UNIX e a Windows da parte di Microsoft che, all’inizio, non era un vero e proprio sistema operativo ma un’estensione di MS-DOS.

Nel 1987 IBM sviluppa OS/2 per il proprio PC PS/2 che non ha, però, un grande successo. L’imposizione sul mercato da parte di Microsoft avviene con la nascita di Windows 3.0 nel 1990, sistema operativo che supporta il multitasking e la memoria virtuale, a cui seguiranno Windows 3.10 e 3.11 mentre nel 1992 vengono introdotti il supporto multimediale e le funzioni di rete per lan e peer to peer.

Solo a partire da Windows 95 si può parlare di sistema operativo vero e proprio per Windows oltre al fatto che si passa dal calcolo a 16 bit a quello a 32 bit. Seguiranno poi Windows 98, nel 1998, Windows ME, nel 2000, Windows 2000, sempre nel 2000, Windows XP, nel 2001 e via via tutti gli altri fino ad arrivare a Windows 10 dei nostri giorni.

Anche Linux nelle sue varie distribuzioni fornisce l’interfaccia grafica: Red Hat, nel 1994, Debian GNU/Linux, nel 1996, Ubuntu nel 2005.

Una menzione a parte meritano i sistemi operativi di rete che nacquero con il fenomeno che si sviluppò negli anni ’80 con la nascita delle reti di computer.

Nacquero così:

  • Sistemi Operativi di Rete che sono dei normali sistemi operativi con l’aggiunta di software per il collegamento a macchine remote e quindi alle relative risorse condivise come file e stampanti;
  • Sistemi Operativi Distribuiti che sono sistemi operativi che girano su sistemi a più processori oppure che inviano i processi da elaborare ad altri computer della rete.

Su queste basi nasce nel 1983 il sistema operativo Netware di Novell che consente la connessione in rete di computer dotati di sistemi operativo quali MS-DOS, Windows, Unix e Mac OS.

Sull’onda delle nuove esigenze di connessione e condivisione di informazioni e device, Microsoft sviluppa diversi Sistemi Operativi di rete, sempre denominati Windows: NT, nel 1993, 200 Server, nel 2000, Server 2003, nel 2003, Server 2008, nel 2008, Server 2012, nel 2012, ecc.

Al giorno d’oggi, rispetto al passato, è disponibile una grande varietà di sistemi di elaborazione dalle più disparate dimensioni e performance a costi contenuti e sono sempre più diffuse le interconnessioni tra i vari dispositivi in modalità sia wired che wireless.

Tutto questo ha portato allo sviluppo di sistemi operativi per le più svariate architetture ed in particolare per i cellulari i cui due sistemi operativi più importanti sono IOS di Apple e Android di Google.

Ma di questo ne parleremo in un prossimo articolo...

Storia dei sistemi operativi - Wikipedia

Mainframe - Wikipedia

Cronologia dei sistemi operativi - Wikipedia

Racconti e aneddoti di un pioniere informatico - Difesa Online

IBM 701 - Wikipedia

CTSS - Wikipedia

What is the Compatible Time Sharing System (CTSS)? - Definition from Techopedia

Multics - Wikipedia

StoriaInformatica.it, dove i ricordi digitali prendono forma

COBOL: storia, applicazioni e futuro | Webnews

Microsoft PowerPoint - Giovanni Riccardi - Storia deilinguaggi di programmazione (infn.it)

Unix - Wikipedia

Unix: storia e fondamenti di una pietra miliare - IONOS

Ken Thompson UNIX systems father | Unixmen

Dennis M.Ritchie - The father of the "C" programming language | Unixmen

StoriaInformatica.it, dove i ricordi digitali prendono forma

Storiaolivettti - Software (storiaolivetti.it)

l'evoluzione dell'interfaccia grafica — Design Multimedia (desmm.com)

La storia di Windows, dal DOS alla prima Interfaccia - Lentux Informatica (lentux-informatica.com)

Evoluzione dei sistemi operativi e delle interfacce utente - Lidweb.net

StoriaInformatica.it, dove i ricordi digitali prendono forma

La storia di Windows, anno 1987: OS/2 [TurboLab.it]

StoriaInformatica.it, dove i ricordi digitali prendono forma

StoriaInformatica.it, dove i ricordi digitali prendono forma

Novell (wikiqube.net)

Immagini: web