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