L'incredibile storia dei sorgenti di IBM CP/67 CMS trovati in un cassonetto

Negli anni '60, IBM rivoluzionò l'informatica con CP/67 CMS, un sistema operativo pioniere della virtualizzazione, precursore di z/VM. Un gruppo di esperti ne ha fatto riemergere il codice sorgente da un cassonetto della spazzatura.

Sebbene oggi il termine sia sulla bocca di tutti, potete immaginare come negli anni ’60 parlare di virtualizzazione fosse qualcosa di assolutamente pionieristico. CP/67 CMS (Control Program/67 Conversational Monitor System) è un sistema operativo sviluppato da IBM in quegli anni per la sua linea di mainframe System/360 Model 67. Rappresenta uno dei primi tentativi di implementare la virtualizzazione come soluzione per ottimizzare l’uso delle risorse hardware, ed è considerato il precursore di sistemi come VM/370 e z/VM, ancora in uso al giorno d’oggi.

Cos’è IBM z/VM

Nel panorama tecnologico moderno, dominato da server distribuiti, container e cloud computing, è facile dimenticare che alcune delle infrastrutture IT più affidabili e potenti si trovano ancora nei mainframe. z/VM (Virtual Machine) è un sistema operativo che funge da hypervisor, consentendo di creare e gestire macchine virtuali su un’unica piattaforma fisica. È stato introdotto per la prima volta nel 1972 come VM/370 e si è evoluto nel corso dei decenni per diventare una soluzione robusta e scalabile, adatta alle esigenze delle grandi imprese.

Con z/VM, un mainframe System Z può ospitare decine, centinaia o persino migliaia di macchine virtuali, ciascuna con il proprio sistema operativo, applicazioni e risorse dedicate o condivise.

La storia dei mainframe risale ai primi giorni dell’informatica. I primi esemplari furono sviluppati per scopi militari e scientifici ma dagli anni ’60 si registrò un’enorme diffusione in ambito bancario, assicurativo e governativo.

Con la diffusione dei server distribuiti basati su architetture più economiche (x86) e l’aumento dell’uso delle reti, in molti cominciarono a considerare i mainframe come sistemi “obsoleti”. Eppure IBM continuò a innovare con la serie System/390 e poi con zSeries, mantenendo una nicchia nel mercato delle transazioni ad alto volume e delle applicazioni mission-critical.

Oggi i mainframe si sono evoluti per supportare nuovi scenari, come il cloud computing e il machine learning. La serie IBM System Z è ottimizzata per integrare Linux e altre tecnologie open source, adattandosi alle esigenze moderne.

Il codice sorgente di IBM CP/67 spunta fuori da un cassonetto della spazzatura

Se ne è parlato davvero poco, praticamente per nulla in Italia, ma qualche tempo fa – con enorme sorpresa da parte degli autori della scoperta – da un cassonetto della spazzatura sono emersi i nastri magnetici sui quali era ancora conservato il codice sorgente dello storico sistema operativo CP/67 di IBM.

CP/67 CMS, sviluppato dal Cambridge Scientific Center di IBM a metà degli anni ’60, è uno dei precursori più importanti degli odierni sistemi di virtualizzazione e delle tecnologie mainframe. Ogni macchina virtuale creata da CP poggiava su una copia completa di un sistema IBM System/360, consentendo a più utenti di eseguire simultaneamente sistemi operativi o applicazioni, come se avessero accesso esclusivo alla macchina. Proprio quell’approccio ebbe il merito di introdurre il concetto di virtualizzazione hardware, in cui quello che oggi è chiamato hypervisor si occupa di usare parte delle risorse del sistema host mettendole a disposizione di ogni singola macchina virtuale.

Disponibile in questo repository GitHub, il codice sorgente di CP/67 consegna a tutti gli interessati un pezzo fondamentale della storia dell’informatica. Consente di studiare le tecniche di programmazione e design dell’epoca, ed è un’opportunità unica per confrontare le pratiche di sviluppo software degli anni ’60 con quelle moderne.

Le tecniche per il recupero dei dati

Come raccontano i responsabili dell’iniziativa, riportare “in vita” il codice sorgente di CP/67 è stato tutt’altro che semplice. Gli esperti hanno dovuto misurarsi con formati obsoleti e hardware “preistorico”.

L’operazione ha previsto il trasferimento su sistemi moderni, l’utilizzo di macchine come VM/370 per interpretare il formato e la successiva conversione in formati leggibili ed effettivamente utilizzabili.

Immagine in apertura: Mike Alexander, membro dello staff del Computing Center, seduto alla console del computer mainframe IBM S/360 Model 67 Duplex presso il North University Building del campus principale dell’Università del Michigan ad Ann Arbor, Michigan, USA, tra il 1968 e il 1971. Credit: Dave Mills

Ti consigliamo anche

Link copiato negli appunti