Il CP/M, Control Program for Microcomputer, è stato il primo Sistema Operativo, nell’accezione moderna, per microcalcolatori ad 8 bit.
La storia del CP/M è fortemente legata a quella del suo ideatore Gary Kildall, consulente software per Intel e docente di Computer Science alla Naval Postgraduate School in Monterey, attività parallele che gli permettono, nei primi anni ’70, di seguire da vicino l'evoluzione dei microcalcolatori a 360°.
Gary Kildall
Nel 1973 Kildall, attratto dal nuovo i8080 (lanciato ufficialmente sul mercato nel 1974), si offre di realizzare per Intel PL/M (Programming Language for Microprocessors), ovvero un compilatore per il linguaggio PL/1, uno dei linguaggi più utilizzati in ambito mainframe. Il problema è che Kildall non dispone di un calcolatore basato sul nuovo processore e, per sopperire a tale mancanza, decide di sviluppare un simulatore (scritto in Fortran) per il DEC PDP-10, l'unico sistema a cui ha accesso, in attesa di avere un vero calcolatore 8080 per il testing ed il rilascio del prodotto. Il simulatore richiede, inoltre, lo sviluppo di un Monitor per il controllo del suo funzionamento: nasce così l'embrione del futuro CP/M (Control Program/Monitor).
Il compilatore cattura l’interesse di Intel che fornisce a Kildall un vero sistema di sviluppo 8080based (Intellec-8) per continuare il suo lavoro di sviluppo e ricerca. Il professore si trova presto difronte alla necessità di aggiungere un sistema per il salvataggio dei dati e individua il Floppy Disk Shugart da 8” come candidato ideale. Resta solo un aspetto: realizzare il software per gestire la scrittura e la lettura dai dischi, funzione tipicamente assolte da un sistema di base (sistema operativo). Kildall decide allora di convertire il CP/M in un vero e proprio Sistema Operativo, ribattezzandolo Control Program for Microcomputers e sviluppando le caratteristiche aggiuntive sulla base delle omologhe del TOPS-10, il sistema operativo del PDP, in particolare per le convezioni associate ai nomi dei file ed ai dispositivi
L’interfacciamento al floppy drive, ed una serie aggiuntiva di componenti terzi, avviene grazie al supporto di John Torode, ed il risultato è assolutamente di prim’ordine tanto che Kildall propone il CP/M ad Intel come sistema operativo di riferimento per i suoi prodotti. Intel dimostra, però, scarso interesse, in virtù del fatto he tra il '73 ed il '74 i microcalcolatori sono ancora rari e non appaiono un business promettente. Inoltre Intel ha già speso enormi risorse per il proprio OS ISIS.
La scelta si rivelerà quanto mai sbagliata.
Nel 1975, infatti, diversi produttori MITS (Altair), IMSAI, Polymorphic, e Processor Technology cominciano a commercializzare microcomputer per hobbisti. Inizialmente questi sistemi sono dotati quasi tutti di una versione personalizzata dell’MS BASIC quale unica interfaccia operativa, ma questa scelta si rileva, soprattutto nella seconda generazione di microcomputer, limitativa e poco attraente. Inoltre i produttori che hanno optato per un OS proprietario si trovano con la difficoltà di dover sviluppare in proprio (o convincere i pochi produttori software) nuove applicazioni incompatibili con le soluzioni concorrenti.
1977, gamma Altair MITS
Inoltre, l'espansione dei microcalcolatori è tale che ben presto produttori come NorthStar, Vector Graphic e Cromemco rilasciano periferiche aggiuntive per i sistemi compatibili con il bus S-100 (Altair e IMSAI in primis).
Tutte queste opzioni spingono il produttori a cercare un sistema operativo indipendente, sia dal punto di vista funzionale sia per l’aggiornamento necessario a supportare le continue novità introdotte sul mercato, trovando nel CP/M di Kildall la soluzione ottimale. Il professore, nel frattempo (spinto della moglie Dorothy McEwen) ha dato vita alla [Intergalactic] Digital Research Inc. focalizzata sulle vendite del CP/M a circa 70$ per licenza.
Kildall e McEwen
Nel caso dell'IMSAI-8080, il CP/M è una vera e propria ancora di salvataggio: infatti inizialmente il microcomputer viene venduto senza il sistema operativo, visto che la sua realizzazione si è rilevata più complessa ed onerosa del previsto. Così, nel 1977, Seymour I. Rubinstein (direttore commerciale della società) acquista per 25.000dollari i diritti non esclusivi del CP/M (1.3), in seguito ampliato e rivisto e fornito con il nome di IMDOS. L'IMSAI diventa così la prima società ad ottenere in licenza l'OS di Kildall.
Conscio della necessità di avere un sistema operativo “adattabile” a varie tipologie di hardware, Kildall introduce un’architettura che vede la presenza del BIOS (Basic Input-Output System), tipicamente una ROM in cui sono contenute le Routine di base per l’accesso all’hardware ed alle periferiche, fortemente dipendenti da esse. In tal modo i produttori di microcomputer devono “semplice" occuparsi della scrittura dello specifico BIOS per il caricamento del sistema operativo stesso, svincolandoli da altre attività di sviluppo e/o personalizzazione del CP/M.
A spingere per l'adozione di un sistema opeartivo "standard" sono anche i produttori di periferiche Tarbell Electronics e Digital Micro-systems,che intravedono la possibilità di realizzare i “driver” di gestione dei propri dispositivi per un unico OS e vedere le proprie soluzioni funzionanti su gran parte dei microcalcolatori disponibili, senza aspettare i "capricci" e tollerare i ritardi del produttore di turno.
Ma il successo del CP/M passa anche attraverso due ulteriori elementi: la possibilità di realizzare software senza preoccuparsi della gestione diretta dell'hardware sottostante, e la distribuzione di essi su supporti standard (floppy) utilizzabili, idealmente, su qualsiasi calcolatore con il CP/M installato. Ciò porta alla nascita del CBasic (evoluzione del primo EBasic), del Microsoft Basic per CP/M e di una serie di compilatori per linguaggi Assemby, innescando un effetto spirale: più i tool di sviluppo aumentano la popolarità (e quindi le vendite) del CP/M più vengono rilasciati nuovi strumenti e nuovi applicativi per tale sistema operativo. E’ da sottolineare che il CP/M fornisce una serie di routine per la stampa e lo scambio di informazioni tra processi, cosa che oggi possono sembrare scontate, ma non lo erano assolutamente per il periodo di riferimento.
Il successo del CP/M è anche merito dei piccoli gruppi di hobbisti che tentano di acquisire quante più conoscenze rispetto a questi nuovi microcalcolatori e spesso forniscono importanti feedback a DR Inc. creando una sorta di "community" su problemi e carenze del CP/M: in sostanza siamo difronte ai primi tester della storia informatica personale.
Tali community sono inoltre di supporto agli utilizzatori meno esperti, visto che non sempre l'hardware è ben documentato e, inoltre, spesso è prodotto da società di breve/brevissima durata.