Valutazione attuale:  / 0
ScarsoOttimo 

Il 360 IBM. Il software.

Anche il software di questa nuova serie fu un grosso passo avanti e segnò l'inizio di una nuova era; insieme a questi nuovi computer cominciò infatti l'era dei sistemi operativi, con i quali il software di base cominciò ad assumere un ruolo d'importanza pari a quella dell'hardware;

L'hardware e il software di base diventarono inscindibili e questo insieme comiciò ad essere chiamato "Sistema".

Il sistema operativo così come è inteso oggi, si presentava già allora come un insieme di diversi software che, interponendosi tra l'hardware e le applicazioni, aveva il compito di facilitare la scrittura dei programmi applicativi; compito del sistema operativo era già allora quello di gestire l'hardware al meglio e organizzare al meglio l'uso della CPU da parte dei programmi; quest'ultimo compito era affidato ad un componente software che allora si chiamava "Supervisor" il quale distribuiva l'uso della CPU ai vari programmi applicativi, facendoli procedere il più possibile in parallelo realizzando ciò che iniziò a chiamarsi multiprogrammazione e che consentiva l'esecuzione di più programmi contemporaneamente.

Questa quindi la novità più entusiasmante arrivata con il sistema 360; come già illustrato nel capitolo che descrive l'hardware, ripeto nuovamente che in questo nuovo hardware non esisteva più un'istruzione di STOP; al suo posto era stato invece fornito un meccanismo che poteva mettere la macchina in WAIT; in pratica quando per qualche motivo un programma non poteva più procedere, il controllo veniva passato al Supervisor cioè a quella parte di software di base che certamente avrebbe saputo fare buon uso della CPU; infatti questo bravo arbitro avrebbe scelto tra i programmi applicativi in attesa di riprendere l'esecuzione quello più meritevole e gli avrebbe affidato l'uso della CPU libera da altri impegni, soltanto se nessun programma fosse in attesa di lavorare, la macchina sarebbe rimasta in attesa (WAIT) fintanto che la richiesta di qualcuno di essi non fosse arrivata.

Mi è sempre piaciuto immaginare il Supervisor come un bravissimo direttore d'orchestra che a seconda delle necessità e con una logica orientata al massimo sfruttamento della CPU, invitava ora l'uno ora l'altro programma a procedere.

Questa era la teoria del software di base previsto per la serie 360, ma anche se l'hardware era stato già progettato per consentire queste cose, i primi sistemi operativi forniti dalla IBM erano abbastanza indietro; gli utenti dei 360 potevano scegliere tra l'OS (Operating System) e il DOS (Disk Operating System) ; il più importante era l'OS, ma data la complessità della realizzazione il più semplice DOS agni inizi appariva più potente e performante; l'OS era fornito in tre diverse versioni: OS/PCP (Primary Control Program), OS/MFT (Multiple Fixed Tasks) e l'OS/MVT (Multiple Variable Tasks); il PCP non era dotato di multiprogrammazione, mentre l'MFT invece avrebbe consentito una multiprogrammazione con un limite di 15 programmi contemporanei, mentre l'MVT avrebbe fornito una multiprogrammazione con un numero di programmi teoricamente illimitato; viceversa il più modesto DOS (che sarebbe stato disponibile solo poco dopo l'annuncio dell'hardware, avrebbe consentito di utilizzare il 360 in multiprogrammazione prima che arrivasse l'MFT, ma con un massimo di soli tre programmi contemporanei.

Per quanto riguarda i linguaggi, era naturalmente subito disponibile un assemblatore, ma si prevedva che presto sarebbero arrivati vari compilatori, tra cui quelli per il Cobol e il Pl/1 (creatura cara alla IBM che doveva essere adatto sia alla programmazione commerciale che scientifica); per l'assembler c'era inoltre una grossa novità: il prodotto comprendeva un generatore di Macro-istruzioni che consentiva agli utenti più smaliziati di creare nuove istruzioni; queste nuove istruzioni durante il processo di assemblaggio sarebbero state tradotte in un insieme di istruzioni di macchina, riducendo quindi lo sforzo i programmazione dei programmatori applicativi. 

 
Da ricordare 

Fin dall'epoca del 7070 avevo sentito parlare di un documento IBM che illustrava come fornire all'Autocoder adeguate informazioni per fargli generare delle macro-istruzioni, ma malgrado avessi tanto cercato non ero mai riuscito a procurarmi il documento; la possibilità di poter arricchire l'assembler con istruzioni da me progettate mi aveva comunque fortemente affascinato; la chiara informazione a proposito di macro-istruzioni e la precisa manualistica fornita con l'assembler del 360 mi riempì quindi di gioia e iniziai subito ad approfondire quella possibilità, forse prima ancora di studiare il linguaggio vero e proprio; l'uso dei macro-generatori divenne per me il pane quotidiano, e come si leggerà in seguito rappresentò uno dei cardini su cui si basò lo sviluppo del software nel Banco di Napoli.