Home CP/M
Storia del CP/M (CP/M History)

 digital_research

Il CP/M, Control Program for Microcomputer, è stato il primo Sistema Operativo per microcalcolatori, come lo intendiamo oggi, realizzato per CPU ad 8 bit.

Il suo ideatore fu Gery Kildall fondatore, insieme alla moglie Dorothy McEwen, della Digital Research. Kildall iniziò la progettazione e lo sviluppo dell'OS agli inizi degli anni '70 e la commercializzazione a metà dello stesso decennio. Il progetto iniziale era basato sull' Intel 8080 ma trovò il naturale approdo sullo Zilog Z80, compatibile con la CPU Intel a livello binario ma dotato di un set di istruzioni più potente ed efficiente. Il connubio tra il CP/M e il Z80 segnò la seconda metà degli anni '70.

kildall_e_consorte

Kildall e McEwen

 

Per comprendere l'importanza che l'introduzione del CP/M ha avuto nel mondo dei calcolatori elettronici bisogna dare uno sguardo a quella che era la situazione del settore in quegli anni.

Il primo vero microcalcolatore commerciale fu il MITS Altair 8800, che non disponeva ne di una tastiera ne di un monitor ed, ovviamente, il diskdrive era una cosa sconosciuta. Il sistema veniva programmato byte per byte attraverso il pannello frontale ed i risultati letti attraverso una serie di Led.

mits_ad1977

1977, gamma Altair MITS

 

Nonostante queste limitazione e ad un interesse iniziale molto ridotto da parte dell'utenza, l'Alatir ben presto fu dotato di una serie di unità aggiuntive tra cui proprio l'agoniato diskdrive.

Il filone Desktop dei microcalcolatori divenne ben presto appannaggio del Commodore PET e dalla Apple ed i software più importanti erano realizzati in linguaggio Assembly mentre i linguaggi ad alto livello erano relegati ad un settore di nicchia. Questo comportava una road-map di sviluppo molto lunga per ogni nuovo software ed il sorgente realizzato era legato in modo quasi indissolubile al sistema per il quale era stato sviluppato. Infatti effettuare il porting da un Apple Computer ad un Commodore richiedeva molte ore di lavoro e una riscrittura completa di tutte le parti di gestione diretta dell'hardware. Inoltre i software venivano salvati su nastro magnetico in formati tutt'altro che compatibili tra loro e spesso l'unico modo per l'acquisto di un software era quello su ROM esclusivamente progettate per il calcolatore specifico.

I Floppy videro i natali sul finire degli anni '70 offrendo maggiori possibilità di scambiare i dati tra sistemi eterogenei anche se era ancora necessario uniformare le modalità di scrittura/lettura degli stessi. In alcuni casi non era nemmeno possibile scambiare i dati salvati da diversi programmi operanti su uno stesso calcolatore.

CP/M diede una svolta a tutto ciò.

 

Una nuova tipologia di Sistema Operativo

La storia del CP/M è fortemente legata a quella del suo ideatore, consulente software per Intel e docente di Computer Science alla Naval Postgraduate School in Monterey, attività parallele che permettevano a Kildall di analizzare l'evoluzione dei microcalcolatori a 306°.

Nel 1973 Kildall attratto dall'8080, la nuova CPU di Intel, si offrì di realizzare per la casa di Santa Clara un compilatore per il linguaggio PL/1 che portasse sulla nuova CPU uno dei linguaggi più utilizzati in ambito mainframe. Il problema era che Kildall non disponeva di un calcolatore basato sull'8080 per cui decise di sviluppare il compilatore in Fortran sul DEC PDP-10, l'unico sistema a cui aveva accesso, in attesa di avere un calcolatore 8080 per il testing ed il rilascio del prodotto.

Nella fase di sviluppo Kildall decise che la strada migliore da seguire era quella di simulare un 8080 sul PDP: era nato l'embrione del futuro CP/M, un software in grado di separare altri software dall'hardware sottostante. Kildall lavorò contemporaneamente al PL/1 (successivamente rinominato in PL/M: Programming Language for Microprocessors) ed al CP/M.

Nel frattempo, grazie al supporto di John Torode, riuscì a mettere insieme e a far funzionare una serie di componenti hardware, tra cui un floppy drive ottenuto in regalo dalla Shugart, per realizzare un microcalcolatore per uso personale. Inutile dire che una volta assemblato l'hardware l'OS divenne il CP/M stesso.

Quando il CP/M fu terminato Kildall ne era così entusiasta che lo offrì ad Intel, la quale, però, si dimostrò scarsamente interessata visto che tra il '73 ed il '74 i microcalcolatori erano rari e non apparivano un business promettente. Inoltre Intel aveva speso enormi risorse per il proprio OS ICIS. La scelta però fu quanto mai sbagliata.

Nel 1975, infatti, diversi produttori MITS (Altair), IMSAI, Polymorphic, e Processor Technology cominciarono a commercializzare microcomputer per hobbisti. Inizialmente questi sistemi erano dotati di un OS proprietario che rappresentava un collo di bottiglia poiché lo sviluppo di nuovi applicativi restava praticamente legata all'OEM di turno.

L'espansione dei microcalcolatori fu tale che ben presto produttori terzi come NorthStar, Vector Graphic, Cromemco rilasciarono periferiche aggiuntive soprattutto per l'Altair e l'IMSAI.

Era ormai chiaro per gli OEM che aggiornare continuamente i propri OS in modo che supportassero quanto di nuovo offriva il mercato era praticamente impossibile. Si spinsero così alla ricerca di una soluzione, soluzione che trovava il naturale approdo nel CP/M che Kildall aveva deciso, nel frattempo, di commercializzare in proprio fondando la Digital Research Inc. ad un prezzo di circa 70$.

Il nome originale del nuovo OS era Control Program/Monitor ma fu cambiato per motivi commerciali seguendo comunque lo schema utilizzato per il linguaggio PL/M e PL/P e non ultimo il CP/CMS di IBM.

La svolta fu accolta con particolare entusiasmo da parte dei produttori terzi, in primis Tarbell Electronics e Digital Micro-systems, che finalmente potevano realizzare direttamente i driver di gestione dei propri dispositivi per un unico OS e rendere gli stessi funzionanti su gran parte dei microcalcolatori dell'epoca. Il tutto senza aspettare i "capricci" e i ritardi del produttore di turno. Nel caso dell'IMSAI-80 il CP/M fu l'ancora di salvataggio: infatti inizialmente il sistema fu fornito senza OS in attesa che venisse completato il proprietario IMDOS. La sua scrittura si rilevò più ardua del previsto ed il progetto fu definitivamente abbandonato in favore del CP/M rendendo l'IMSAI la prima società ad ottenere in licenza l'OS di Kildall.

 

 

L'Entusiasmo degli Utenti

Grazie al CP/M per la prima volta era possibile scrivere software senza doversi occupare della gestione diretta dell'hardware sottostante, demandando tali incombenze al Sistema Operativo. I programmi così realizzati potevano essere venduti su supporti standard (floppy) ed utilizzati su qualsiasi calcolatore con il CP/M installato che, grazie al sistema di I/O BDOS, era in grado di leggere e scrivere da essi. L'OS di Kildall forniva anche routine per la stampa e lo scambio di informazioni tra processi.

Nonostante tutto ciò sia oggi scontato, non lo era assolutamente per il periodo.

Il nuovo OS relegava il ruolo degli OEM alla "semplice" scrittura di un BIOS per il caricamento del sistema operativo stesso.

Essendo agli albori, i microcalcolatori erano spesso oggetto di attenzione di piccoli gruppi di hobbisti che tentavano di acquisire quante più conoscenze in merito a questi nuovi calcolatori e il poter avere un OS teoricamente interoperabile su qualsiasi sistema i8080 o Z80 based era un'occasione unica.

Questi utenti però non erano solo dei semplici fruitori ma fornivano importanti feedback alla società di Kildall sul CP/M, creando una sorta di "community": in sostanza i primi gruppi di tester della storia informatica. Tali community erano inoltre di supporto agli utilizzatori dell'hardware che non sempre era ben documentato e che spesso era prodotto da società dalla breve/brevissima durata.

Ovviamente nacquero in breve tempo una serie di compilatori per l'OS di Digital Research: CBasic (evoluzione del primo EBasic), il Microsoft Basic e una serie di compilatori per linguaggi Assemby.

Si era innescata una escalation a spirale: più i tool di sviluppo aumentavano la popolarità (e quindi le vendite) del CP/M più venivano rilasciati nuovi strumenti e nuovi applicativi per tale sistema operativo.

 

CP/M History

TimeLine Storia Informatica
TimeLine
Pionieri Informatici
Pionieri Informatici
Libri
Libri
Vintage Forum
Vintage Forum
Vintage Forum
Vintage Magazine e Approfondimenti
Vintage Guestbook
Vintage Guestbook
Vintage Link
Vintage Link
ing. Felice Pescatore