Proseguendo il nostro viaggio nel passato ci troviamo allinizio
degli anni 60, quando la maggior parte dei produttori di calcolatori
avevano due linee distinte di prodotti: da un lato i grossi calcolatori
scientifici come lIBM 7094, dallaltro i calcolatori
commericali di più limitata capacità elaborativa, come lIBM
1041.
Per risolvere tutti i problemi correlati ad una tale situazione,
lIBM (allora in una situazione pressoché monopolistica) introdusse
il System/360, una serie di macchine compatibili a livello
software, che differivano solo per prezzo e prestazioni (si andava
dal 1041 a macchine più potenti del 7094).
Il sistema 360 fu la prima linea di calcolatori ad usare la tecnologia
dei circuiti integrati (IC), allora a bassa scala di integrazione,
che portò innumerevoli vantaggi in termini di prezzo e prestazioni.
Inutile dire che il successo dei calcolatori compatibili convinse
gli altri costruttori a fare altrettanto.
La compatibilità software fra i diversi computer fu un fattore di
grande forza, ma anche un punto debole.
Principalmente ciò è dovuto al fatto che lintenzione era di
avere lo stesso software, SO compreso, su tutti i modelli, ma le
grandi differenze nelle caratteristiche hardware e nelluso
in ambito scientifico e commerciale avevano requisiti spesso in
conflitto fra loro.
Il voluminoso sistema operativo che venne adottato, lOS/360,
era costituito da milioni di righe di codice assembler scritto da
migliaia di programmatori e conteneva centinaia di errori, che rendevano
necessarie versioni sempre nuove, con le quali si correggevano i
vecchi e se ne introducevano di nuovi
Nonostante le enormi dimensioni e gli errori, i sistemi operativi
della terza generazione seppero soddisfare gli utenti, anche
grazie allintroduzione di una nuova tecnica, la multiprogrammazione.
A causa dei costi elevatissimi dei calcolatori, si impose la necessità
di ridurre la quantità di tempo in cui la CPU rimaneva inattiva,
permettendo ad un job di occupare il processore mentre un altro
job era in attesa del completamento di unoperazione di I/O.
Per fare ciò la memoria principale venne divisa in partizioni, una
dedicata al SO e le rimanenti assegnate a vari job.
Tramite lo spooling le schede contenenti i job venivano subito lette
e i job caricati su disco; in maniera analoga si operava per la
gestione delluscita dei risultati, eliminando così per sempre
la scocciatura del continuo spostamento di nastri magnetici
da un calcolatore allaltro.
In questi sistemi, detti a lotti multiprogrammati, si presentarono
per la prima volta nuove problematiche:
Il desiderio di un veloce tempo di risposta portò ben presto al timesharing (condivisione di tempo), una variante della multiprogrammazione che permetteva a più utenti di avere un terminale ciascuno.
In questi sistemi la CPU veniva assegnata a turno ai vari utenti
che ne richiedevano luso e venne reso disponibile un servizio
interattivo molto veloce, sfruttando i tempi di inattività degli
utenti che stavano pensando, parlando o prendendo il caffè per eseguire
i job degli altri.
I primi sistemi operativi timesharing furono il CTSS, sviluppato
dal 1962 al MIT (Massachussets Institute of Technology) e lambizioso
MULTICS (MULTiplexed Information and Computing Service),
sviluppato nella seconda metà degli anni 60 da gruppi del MIT, dei
laboratori Bell e della GE (General Electric).
Entrambi i sistemi non ebbero rilevanza commerciale a causa della
mancanza di un necessario hardware per la protezione e MULTICS in
particolare fu un fiasco.
Tuttavia questultimo preparò la strada alla creazione di uno
dei più popolari ed efficienti sistemi operativi di tutti i tempi:
UNIX.
Vedremo in che modo ciò avvenne nella prossima puntata.
Torna all'indice Generale del corso di Corso di Sistemi Operativi di Software Planet