martedì 12 dicembre 2006

Calcolatori a circuiti integrati

Un po' di storia dei computer: la terza generazione (circuiti integrati)

Intorno agli anni 1964-65 la tecnologia raggiunge un'altro traguardo: i circuiti miniaturizzati che contengono più transistor in un unico componente.
I sistemi realizzati sono concepiti con tecniche modulari (si compongono a blocchi).
L'IBM immette nel mercato il
Sistema S/360 e diventa leader incontrastato del mercato mondiale dell'informatica.

Per fare un confronto, uno stesso programma che negli anni 50' impiegava un'ora per fornire i risultati finali, ora impiega pochi minuti.
Abbandonate le telescriventi, i terminali cominciamo ad assomigliare a quelli che conosciamo: tastiera e schermo.
Nasce la
multiprogrammazione. In precedenza due differenti problemi, per esempio, una statistica e il calcolo del cedolino paghe, potevano essere eseguiti solo in sequenza temporale, uno dopo l'altro.
Ora, sotto il controllo di uno speciale programma che governa l'intero sistema (
il sistema operativo), più programmi potevano procedere apparentemente in parallelo, sfruttando i tempi di attesa fra un'operazione elementare e l'altra.

Non riesco ad esimermi da qualche ricordo personale.
Nel 1979 ho cominciato a lavorare con questa generazione di elaboratori, un General Electric GE130.
Lavoravo per un "centro servizi" diretto da un amico. Di giorno, mentre una batteria di ragazze imputavano i dati da elaborare su nastro magnetico, l'elaboratore (32K RAM), sfornava lentamente, rigorosamente una per volta, le stampe e gli elaborati commissionati dai clienti: statistiche, fatture, paghe.
Per me che facevo sviluppo, rimanevano pochi ritagli di tempo, tra una lavorazione e l'altra oppure, la notte...
Vorrei far capire le difficoltà che poteva incontrare un programmatore con un aneddoto.
Leggendo il manuale del Cobol, intravvidi la possibilità di migliorare le performance di un
programma utilizzando un file ad indici (non ridete, allora la norma era il file sequenziale).

Un voluminoso manuale del GE130 mi permise di impostare sui dischi rimovibili (padelle) l'allocazione del file ad indici.
Purtroppo a fine elaborazione il risultato fu sconsolante, il file aveva zero record!
Ero pur sempre un programmatore alle prime armi. Il mio programma fece il giro di parecchi esperti. Sembrava corretto ma non funzionava. Alla fine dovetti rinunciare.
Parecchi mesi dopo, durante una delle tante riparazioni hardware cui era soggetto quel bestione che occupava parecchie decine di metri quadrati, mi capitò di citare il fatto al tecnico, intento a smontare i meccanismi interni della stampante di sistema.

Ritirò su la schiena curva e pensieroso disse: "Mi sembra di ricordare...". Andò nello scaffale della documentazione e in un volume dedicato ai dischi, in una imprecisata pagina interna, mi fece vedere la nota in calce; pressappoco diceva così: "Se create un file a indici in questa unità non fatelo sulla traccia zero, non funzionerebbe" Alla faccia dell'indipendenza fra software e hardware!

Nessun commento: