Percorso: ilMac.net > Macopinioni > Articoli > La storia dell'informatica


La storia dell'informatica

3 - Gli anni '60. Vita e morte di due generazioni di calcolatori

Nonostante fossero stati inventati già nel '47 da IBM, solo verso la fine degli anni '50 i transistor iniziarono ad avere una certa diffusione anche nel campo della progettazione dei calcolatori, dando inizio a quella che viene poi chiamata la seconda generazione dei computer.

Tre erano i vantaggi del transistor: le dimensioni (un transistor è centinaia di volte più piccolo di una valvola), la rapidità (l'impulso elettrico deve percorrere un tratto minore e dunque impiega meno tempo per giungere, elaborato, dall'altra parte del transistor), l'affidabilità (il tempo medio prima della rottura di un transistor è di circa un milione di ore, contro le diecimila della valvola). La riduzione delle dimensioni e, in definitiva, dei costi (il costo di produzione di un transistor è molto minore di quello di una valvola) diede un impulso all'aumento del numero di elementi usati nella costruzione dell'elaboratore e dunque alla sua complessità. Le unità di governo vennero riorganizzate; fu implementato l'input/output su periferiche lente (come i lettori di nastri o di schede) parallelo all'elaborazione; il numero dei registri del processore aument", consentendo di lavorare su un numero maggiore di operandi senza accesso alla memoria (operazione che comporta un rallentamento delle operazioni), con un conseguente aumento di velocità. Il computer inizi" piano piano a prendere una forma più simile a quella odierna.

Ci furono molteplici innovazioni in questo periodo, ma una tra le più importanti fu la creazione della memoria a nuclei, usata a partire circa dalla metà degli anni '50. Precedentemente, venivano usate memorie cosiddette a tamburo, realizzate con uno spesso disco coperto di materiale magnetico (da cui il nome di "tamburo") che scorreva sotto una testina di lettura e scrittura. Lo scorrimento provocava due problemi sufficientemente gravi: il rompimento per usura (abbastanza frequente) e la sequenzialità dell'accesso ai dati, per la quale per accedere a un dato bisogna prima scorrere tutti quelli precedenti (in questo caso, attendendo che il disco compia, alla peggio, un giro completo prima di ottenere il dato desiderato). Le memorie a nuclei, invece, erano costituite da una rete di fili attorcigliati attorno a "nuclei", piccole "ciambelle" (tori) di materiale ferroso, che hanno la proprietà di magnetizzarsi in senso orario o antiorario a seconda della corrente che li attraversa, potendo così registrare un bit di informazione (zero per il senso antiorario, uno per l'orario). Le memorie risolvevano il problema della sequenzialità introducendo il cosiddetto accesso casuale (random access): bastava far scorrere la corrente nei fili giusti per ottenere, sotto forma di tensione su un certo contatto elettrico, il valore del bit desiderato, senza dover attendere alcun tempo dovuto a movimenti meccanici e velocizzando le operazioni di interi ordini di grandezza.

Un altra innovazione fu la parallelizzazione del lavoro di input/output e di elaborazione: fu questo un concetto che si accompagnava alla cosiddetta multiprogrammazione (multitasking) secondo il quale più operazioni possono essere svolte in parallelo. Le periferiche di input/output sono infatti notevolmente più lente dell'elaborazione elettronica svolta dall'unità centrale, e pertanto si spreca molto tempo durante l'attesa del risultato dell'I/O, penalizzando le prestazioni. Per ovviare al problema, si inizi" a sfruttare i cicli di elaborazione "sprecati" con altre elaborazioni dello stesso programma che non avessero bisogno dell'accesso al disco; successivamente, allargando il concetto, si arriv" a far funzionare più programmi contemporaneamente, facendo girare alternativamente prima una porzione delle istruzioni del primo, poi una porzione del secondo, poi la porzione successiva del primo, poi quella del secondo e così via. Era la velocità del passaggio tra i due programmi a creare l'illusione della contemporaneità. Questa tecnica (nota all'epoca come time-sharing, specialmente in relazione a programmi avviati da persone differenti) è utilizzata ancora oggi con finalità diverse: consentire l'uso da parte di più programmi differenti della stessa macchina. La tecnica del multitasking ebbe il suo maggior sviluppo teorico e pratico in questo decennio e in tutto quello successivo, per poi essere ripresa durante gli anni '80.

Infine, una grande innovazione fu l'introduzione delle memorie di massa basate su nastri magnetici in sostituzione delle schede di carta, la cui velocità era nettamente inferiore, e l'introduzione dei primissimi dischi magnetici, eredi dell'idea del "tamburo" ma in grado di mantenere i dati anche a corrente spenta, antesignani sia dei dischetti che dei dischi rigidi.

Questa "pioggia" di innovazioni ebbe tre effetti principali: la riduzione delle dimensioni dei computer; la riduzione dei costi, che consentirono un allargamento del mercato anche alle aziende di medie dimensioni; l'aumento delle prestazioni delle macchine, che arrivavano ad essere dieci volte maggiori rispetto alla generazione precedente. Tutto questo venne ulteriormente accentuato alla fine degli anni '60, quando una terza generazione di computer venne a spodestare quella precedente, basandosi sull'uso dei circuiti integrati in luogo dei circuiti assemblati tradizionalmente (innovazione proveniente soprattutto dall'industria spaziale), riducendo costi e dimensioni in maniera ancora più accentuata.


Immagine x - Un nastro magnetico per computer.

L'assalto dei linguaggi di programmazione ad alto livello iniziava a delineare il settore del software, che, divenuto meno dipendente dal tipo di hardware utilizzato, faceva passi da gigante: un grande impulso lo diede l'introduzione di COBOL ("Common Business-Oriented Language", linguaggio comune orientato alle operazioni commerciali), un linguaggio di programmazione che andava incontro alle esigenze dell'utenza commerciale piuttosto che a quella dell'ambiente scientifico come faceva Fortran (si deve immaginare che per vent'anni, anche dopo la rivoluzione dell'ingresso nella scena della programmazione dei lingaggi strutturati, ci saranno al mondo più programmi scritti in Cobol che in altri linguaggi) che segn" il passaggio della macchina da un ambiente di nicchia, solo scientifico, ad appunto un uso più ampio, di elaborazione, trattamento e immagazzinamento dei dati.


Immagine xi - Douglas Engelbart, ideatore del NLS e di molti concetti dell'informatica odierna.

Un ultimo cambiamento è quello relativo alla localizzazione dei computer, nel senso spaziale del termine: dove prima i computer erano relegati ai centri di calcolo che eseguivano un'elaborazione cosiddetta "a lotti", prettamente locale, adesso piano piano si procedeva, grazie ai sistemi time-sharing, a elaborazioni a distanza, anche grazie all'affidabilità sempre maggiore della rete telefonica (un primo avvicinamento tra tecnologie della comunicazione e dell'elaborazione). Questo diede un forte impulso al mercato dell'informatica, consentendo ad alcune aziende di fornire un accesso a pagamento ai propri sistemi a quei clienti che, pur avendo necessità di compiere elaborazioni complesse, non possono giustificare i costi di acquisto e manutenzione di un "intero" computer. Questo dà un grande impulso a quei sistemi, detti "monitor" o "supervisori", che gestiscono l'esecuzione degli altri programmi e realizzano il multitasking; da questi strumenti nasceranno i sistemi operativi che usiamo oggi. Sempre in questo periodo nascono tecniche, come quelle della memoria virtuale o della paginazione che sono alla base della flessibilità dei sistemi informatici odierni.

Infine, nei primi anni '60, nasce al Centro Ricerche di Stanford l'NLS ("oN Line System", Sistema in linea), che introduce concetti come le finestre, l'editing bidimensionale (col documento visualizzato sullo schermo), gli ipertesti, il mouse, l'editing tra documenti (l'odierno "taglia, copia, incolla"), il mouse, la videoconferenza, che solo oggi utilizziamo appieno o iniziamo a utilizzare. Il lavoro sull'NLS fu per" dimenticato ancora per circa una ventina d'anni, essendo la tecnologia non ancora sufficientemente sviluppata per supportare efficientemente operazioni così complesse.



Data di pubblicazione: 02-12-2004
L'intero contenuto di questo sito è © dal 1998 del Team di ilMac.net, è vietata ogni riproduzione senza il consenso scritto da parte degli autori.