Menu

CP/M Release a 16 bit

Verso la fine del 1978 Intel introduce l'i8086 che apre l'era dei processori a 16 bit e, nel caso particolare, dell'architettura x86. L'edizione economica, ovvero l'i8088, viene scelto da IBM come base del PC IBM 5150 del 1981.

Digital Research pianifica velocemente una release di CP/M 2 a 16 bit, ma poi non riesce a raggiungere un accordo con IBM per far diventare il nuovo CP/M-86 (nome scelto per l'edizione specifica) il sistema operativo standard per i nuovi PC. Così lo sviluppo viene ritardato consentendo a Microsoft di attrezzarsi per realizzare la propria soluzione denominata il PC/MS DOS e trasformarla nel sistema operativo standard per il mercato dei personal computer.

E’ doveroso segnalare che la soluzione Microsoft  è originariamente basata sul Q-DOS (Quick and Dirty Operating System) realizzato dalla Seattle Computer Products, e molto simile al CP/M 1.4, ma utilizza un diverso file system (FAT) proprietario di Microsoft, il che genera una totale incompatibilità con i supporti preparati per il sistema di Digital Research (si veda L’Eterna accusa di Plagio).

Kildall, accortosi del madornale errore, concentra tutti gli sforzi della propria società nel rilascio della prima versione di CP/M-86 (praticamente la versione 2.2b portata sulla nuova architettura Intel) introducendo alcune funzionalità assolutamente d'avanguardia e possibili proprio grazie alla nuova CPU. 

 

CPM-86

CP/M 86

 

La gestione della memoria è di tipo segmentata permettendone così l'uso a blocchi da 64Kb e la presenza simultanea di più processi in memoria anche se non eseguiti contemporaneamente. Grazie al fatto che la nuova CPU è una evoluzione rispetto alla precedente ad 8bit, la strada per convertire i vecchi software è ben specificata e documentata.

Una sottile differenza rispetto al CP/M 2.2b è la parte residente dell'OS in memoria che, a differenza del cugino ad 8-bit, è nella parte più bassa di essa (buttom end). Ovviamente la versione x86 mantiene una completa compatibilità nella gestione dello storage con le versioni “80”, come vengono rinominate le release per i processori a 8 bit.

 

Sul finire del 1983  oltre 500 produttori di microcalcolatori offrono i loro sistemi con il CP/M-80 o il CP/M-86, contando su parco utenza pari a circa 2milioni.

 

Oltre al CP/M, Digital Research effettua un porting anche di MP/M II che diventa MP/M-86, portando così nel mondo dei PC la possibilità di avere utenze multiple. Poco dopo MP/M-86 viene fuso con il CP/M/86 dando vita al Concurrent CP/M (CCP/M). In realtà vengono presentate due release di CCP/M, la 2.1 e 3.1, in riferimento alla versione CP/M-80 a cui fanno riferimento. In particolare la 3.1 introduce il nuovo filesytem del CP/M Plus, migliorando fortemente le performance dell’I/O.

 

ccpm

CCP/M

 

Dal CCP/M al Cuncurrent DOS (CDOS3.2 la strada è breve e con esso DR Inc. introduce una maggiore compatibilità con il PC/MS DOS. Questa nuova release permette di eseguire applicazioni per entrambi i sistemi (distinguendo gli .EXE dai .COM ed allocandoli in memoria nel modo opportuno) e, finalmente, supporta il formato di dischi dell'OS concorrente. Ovviamente non tutto è perfettamente compatibile ed alcune funzioni risultano duplicate: per esempio per copiare un file si può usare il comando copy (dos) o il comando pip (cp/m). Lo scopo è comunque quello di offrire un supporto ottimale ai sempre più numerosi applicativi per il PC/MS DOS.

 

Ma il mondo a 16bit non è solo appannaggio di Intel, e DR Inc. rilascia specifiche versioni per per il Motorola 68000 (CP/M-56k), per lo Z8000 (CP/M-Z8K) ed altri.

 

Questa varietà di versioni crea una forte confusione sulla denominazione dell'OS stesso: Concurrent CP/M, Concurrent CP/M-86, CCP/MConcurrent PC DOS, Concurrent DOS, CDOS, Concurrent DOS 86, sono spesso i usati come sinonimi. Del CP/M 86 viene realizzata anche una release in down-grade (ridotta) conosciuta come Personal CP/M-86 e inizialmente rivolta alle sole esigenze del mercato Giapponese, ma poi approdata anche in Europa.

 

concurrentdos 386

Concurrent DOS/386, v.2 (17/11/1987) - v.3 (23/02/1988)