Tutte le versioni del CP/M erano normalmente identificate da 2 numeri di release: il primo relativo alla versione in se del C/PM, il secondo relativo alla versione del Kernel BDOS.

Le versioni note sono:

1973

CP/M 1.0

1976

CP/M 1.2 - 1.3

< 1979

CP/M (80) 1.4

1979

CP/M (80) 2.0

> 1979

CP/M (80) 2.2, alla base logico/funzionale del QDOS, poi 86-DOS e quindi IBM/MS-DOS.

1982

CP/M (80) 3.0

1982

CP/M (86) 3.1, alla base del futuro DOS-PLUS e successivamente del DR-OS

gennaio 1982 

CP/M-86 per il PC IBM Versione 1.0 (BDOS 2.2)

marzo 1983

CP/M-86 per il PC IBM Versione 1.1 (BDOS 2.2). Aggiunge il supporto ai Dischi Rigidi.

novembre 1983

Personal CP/M-86 Versione 1.0 (BDOS 3.1). Versione per il Siemens PG685 basato sul kernel del Concurrent CP/M, permettendo così un'esecuzione multitasking dei processi.

1984

Concurrent DOS 3.2

Gennaio 1985

Personal CP/M-86 Versione 3.1 (BDOS 3.3). Versione per l' Apricot F-Series computer che garantiva la compatibilità con i supporti formattati secondo lo standard MSDOS (FAT).

1985

Concurrent DOS 4.1. Aggiunge la compatibilità alla versione 2.0 dell'IBM/MS-DOS

1985

DOS Plus 1.0, derivazione single user del Concurrent DOS 4.1 e compatibilità con la versione 2.11 dell'IBM/MS.

1985

Concurrent DOS XM (5.0). Fa un ulteriore passo in avanti per l'IBM/MS - DOS allontanandosi sempre più dal CP/M-86 originale. Migliora sensibilmente la capacità di gestione della memoria, permettendo ai programmi di "vedere" oltre i canonici 640Kb.

1986

DOS Plus 1.xx

1986

Personal CP/M-86 Versione 2.0 (BDOS 4.1) . Versione per il Siemens PC16-20. Il Kernel è lo stesso utilizzato per il DOS Plus.

1986

Personal CP/M-86 Versione 2.0 (BDOS 4.1) . Versione per il Siemens PG685.

1987

Concurrent PC DOS 6.0. Completamente riscritto, segnò la fine del CP/M-86. CDOS 6 era un DOS multiutente e multiuser in grado di far funzionare applicativi CP/M-86 e non più viceversa

1987

Concurrent PC DOS 386 / v.2. Si tratta di una completa riscrittura della versione 6.0 ottimizzata per CPU 386 in grado di sfruttare le capacità proprie della nuova CPU Intel di creare istanze multiple di virtual machine 8086. Era disponibile per utilizzo singolo, fino a 10 utenti e fino a 25 utenti. Ovviamente permetteva di eseguire applicazioni DOS.

Inizi 1988

DOS Plus 2.0/2.1

27 aprile 1988

DOS Plus 2.1 diventa DR DOS 3.31

1988

DR DOS 3.32

1988

DR DOS 3.40

1989

DR DOS 3.41. Prima release ufficialmente distribuita agli OEM (gennaio) e successivamente al pubblico (giungo/luglio)

1990

DR DOS 5.0 (leopard) con ViewMax incorporato

1991

DR DOS 5.11

Settembre 1991

DR DOS 6.0, con Superstor, Delwatch, supporto per Netware Lite, Task Switcher per DOS (Taskman)

Dicembre 1993

DR DOS 7.00 (Novell DOS), supporto per il networking e gestione avanzata della memoria

Febbraio 1997

DR DOS 7.01 (OpenDOS)

Settembre 1998

DR DOS 7.02 (OpenDOS)

Marzo 1999

DR DOS 7.03 (OpenDOS)

Marzo 2004

DR DOS 8.0. Supporto per FAT32 e dischi rigidi ad alta capacità. Possibilità di essere installato su ROM o FLASH-DISK (per i sistemi embedde). Supporto per il multitasking (con CPU 386 o superiori), DPMS memory manager, tool di compressione disco. Menager per la memoria espansa EMM386

 

E' interessante sottolineare che tutte le release del Personal CP/M - 86 sono, con molta probabilità, basate su una versione interna del CP/M denominata CP/M-86 plus. Tale deduzione deriva dal fatto che esistono diversi riferimenti interni a DR Inc. rispetto ad essa.

Nell'arco di 5 anni (1979-1983), e un numero difficilmente quantificabile di edizioni e versioni, il parco utenti passa da circa 300.000 a circa 2 milioni. Ma questo non basta a far divenire il CP/M (nella versione -86) il sistema principe per il nuovo PC IBM, soprattutto per l'alto costo della licenza (240$ circa) rispetto all’alternativa on-board PC/MS-DOS.

DR tenta di reagire rilasciando, nel 1986,  il DOS Plus 1.0 (noto anche come DOS +), edizione single user del Concurrent DOS, in grado di eseguire programmi scritti per CP/M-86 e MS-DOS 2.11, utilizzare (in scrittura e lettura) i dischetti nei rispettivi formati, e permettere il Multitasking, limitatamente ai programmi CP/M-86 (max 4).

Nel corso del 1986 vengono rilasciate una serie di minor release 1.xx e nel marzo del 1988 arriva la release 2.0/2.1. A solo un mese di distanza il DOS+ 2 viene rinominato in DR-DOS 3.31 (il 27 aprile 1988) rilasciato pubblicamente solo tra giugno/luglio del 1989 come DR-DOS 3.41.

 

drdos341 package

 

Ormai la partita è comunque persa e tutti gli sforzi successivi con il DR DOS, comunque sempre un passo avanti al concorrente diretto PC/MS-DOS sono inutili.

the battle is over

The Battle is over...

 

Digital Research viene acquistata da Novell a luglio del 1991, dopo il rilascio del DR DOS 6, La stessa società di Ray Noorda decide di entrare nel mercato del DOS, in un momento in cui le sue sorti sono ormai segnate (leggasi OS/2 e Windows), con il probabile obiettivo di rendere i propri servizi di rete indipendenti dalle soluzioni Microsoft, fornendo una soluzione "chiavi in man" con NetWare ed un (Novell) DOS compatibile al 100% con quello della casa di Redmond. L'operazione ha, però, vita breve e nel 1995 Novell cede l'intero portafoglio di prodotti ereditati da Digital Research a Caldera, artefice del rilascio, sotto licenza GPL, della quasi totalità dei sistemi ereditati.

 

drdos6

DR DOS 6.0

Dopo una serie di cessioni, acquisizioni e polemiche con diverse community opensoruce (Enhanced DR DOS in primis), oggi quello che resta dei sistemi operativi creati da Kildall è il DR-DOS 8.1 rilasciato nel 2005 da DRDOS Inc. (erede indiretta della divisione Caldera), e pensato in particolare per sistemi embedded o comunque con ridotte risorse, in abbinamento al Caldera DR-DOS 7.03 e all’Enhanced DR-DOS rilasciati in formato open/free/similari.

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)

Nel 1982 arriva il CP/M 3 (noto anche come CP/M Plus) che fonde le caratteristiche delle precedenti versioni a quelle di MP/M II.

cpmplus

In pratica il sistema di DR Inc. offre una gestione separata della memoria e un sistema operativo più evoluto ed efficiente. Ma la caratteristica più innovativa è quella che permette la personalizzazione di alcune estensioni del sistema stesso grazie alle Resident System Extesion (RSX), richiamabili dai programmi applicativi come se fossero system call (chiamate a sistema) standard, con tutti i relativi vantaggi in termini di velocità e sicurezza.

Un esempio di RSX sono le GSX (Graphic System Extension), ovvero i driver grafici in standard ANSI.

In generale, comunque, tutti i componenti del CP/M vengono migliorati e rivisti, In particolare il Console Command Processor (CCP) si arricchisce del supporto alla ridirezione dell'I/O in stile UNIX e la presenza di default (in CP/M 2.xx era opzionale) delle utility RMAC e SID per il debugging.

cpm plus

Le forti limitazioni che condizionano le prime versioni del CP/M, cominciano a ridursi nel biennio 1979-1980, grazie a nuovo hardware con "molta" più memoria e Disk Drive ad "alta" capacità. Inoltre grazie a programmi come VisiCalc (il primo foglio elettronico) e WordStar (il più popolare wordprocessor), i microcalcolatori cominciano ad essere considerati qualcosa di più che semplici oggetti da smanettoni. 

cpm22 kaypro

CP/M 2.2 su Kypro II

Nel 1979 DR Inc. rilascia la Release 2.0, seguita a ruota dalla Release 2.2/2.2b, distribuita sui nuovi floppy da 5,25". Si tratta dell'ennesima riscrittura del sistema, atta a migliorare l’architettura generale del CP/M che ora conta 5 parti logico-funzionali (non tutte nuove) ben definite:

      1. BIOS (Basic Input/Output System): contenente tutto il codice specifico dell'hardware per interfacciarsi con le periferiche ed in particolare con i supporti di storage;
      2. BDOS (Basic Disk Operating System): il Kernel del sistema indipendente dall'hardware;
      3. CCP (Console Command Processor), l'interprete dei comandi residente in memoria. Il CCP viene temporaneamente sostituito come “controllore” del sistema dal programma applicativo attivo;
      4. TPA (Transient Program Area): l’area di memoria dove i programmi vengono caricati ed eseguiti. Come accennato, i programmi applicativo possono sostituire il CCP e parte del BDOS purché non richiedano i servizi di accesso ai file;
      5. BPA (Base Page Area): l’area di memoria contente i vettori di interrupt, le variabili chiavi ed altre informazioni necessarie al BDOS ed al BIOS.

Grazie a questa strutturazione il CP/M 2.x è in grado di incrementare significativamente l'indipendenza dall'hardware e gestire più di 16 periferiche (ognuna con uno spazio di storage al massimo di 1MB) restando compatto e flessibile. Il CP/M 2.2 viene praticamente installato su microcalcolatori di tutto il mondo e rafforza la politica di vendita di DR Inc. orientata ai produttori OEM piuttosto che agli utenti finali.

cp_m-2

CP/M 2.2 Package 

Alla base delle operazioni effettuabili dall'utente vi sono:

  • comandi interni (caricati in memoria insieme al CCP stesso): type (per la visualizzazione dei file), dir (visualizzazione delle directory), era (per la cancellazione di file o gruppi di essi), ren (rename dei file), user (cambio della user area), save (salvataggio della TPA per operazioni di debugging);
  • utility resistenti su disco: asm (assembler), load (loader), DDT (dynamic debugging tool), ed (editor a linea di commando), pip (copia dei file), stat (stato del disco), dump (dump esadecimale), submit (comando di batch), xsub (estensione di dump), format (per la formattazione dei dischi) e sysgen (per la copia del sistema operativo tra dischi e memoria). Normalmente “format” e “sysgen” sono forniti dal produttore del microcalcolatori per ovvia dipendenza dall'hardware stesso.

Il successo del CP/M è incontenibile, tanto che perfino il "gigante" Commodore immette sul mercato un C128 in due versioni, con CPU 6510 e Z80, in grado di eseguire il CP/M. La larga diffusione dell'OS di Digital Research attira, ovviamente, l'attenzione di molte software house che guardano con interesse la sempre crescente possibilità possibilità di offrire i propri prodotti ad una platea di utenti senza precedenti. 

_WDSTAR

WordStar per CP/M 

Come abbiamo più volte ribadito il CP/M è in grado di funzionare sia sull'8080 che sullo Z-80. Quest'ultimo, in particolare, è molto più efficiente e potente del rivale Intel conservandone comunque la compatibilità a livello di set di istruzioni. La maggiore velocità ed efficienza dello Z-80 è uno sprono verso i sistemi multiuser, ovvero sistemi centrali (server) in grado di accettare richieste contemporanee provenienti da più terminali.

Digital Research crea un fork apposito del CP/M 2, sviluppato da Tom Rolander e rilasciato nel 1979 con il nome di MP/M, acronimo, mai confermato, di Multiple Program/Monitor. L'MP/M è dotato di un Kernel con uno specifico schedule a priorità, particolarmente innovativo e adatto alla gestione delle attività dei vari utenti.  Nonostante MP/M, dal punto di vista dell’utilizzo, sia molto simile al CP/M, le diversità del Kernel non sempre garantiscono la compatibilità con il software sviluppato per la versione single-user, in particolare le applicazioni CPU Bound (ovvero che sfruttano fortemente la CPU) soffrono di un visibile decadimento lineare delle prestazioni.

Chiaramente CP/M ed MP/M condividono il formato dei floppy disk, mentre il secondo è  progettato per funzionare senza Hard Disk e su un hardware limitato:

  • 64Kb di RAM (dimensione tipica), suddivisa in 48Kb per le applicazione e 16Kb per l'OS stesso residente;
  • CPU a 8 bit, sufficientemente veloce per l'utilizzo in ambito single-user ma lento in quello multi-user soprattutto con i software commerciali;
  • Dimensione massima dei file para a 32Mb, con supporto di un timestamp per identificarne data e ora di creazione. Ai file è inoltre applicare un semplice meccanismo di protezione basato su password ad 8 caratteri: d:filename.typ;password. Tale meccanismo è comunque supportata quasi esclusivamente da riga di comando (CCP) e scarsamente utilizzata dai programmi applicativi.

Nel corso di alcuni anni MP/M si evolve in MP/M II, introducendo meccanismi di locking avanzati sui file per la condivisione degli stessi tra più processi.

mpm2

MP/M II

L'evoluzione del CP/M permette al sistema di Kildall di sbarcare anche sui sistemi Apple, Atari e Comodore 64, Amstrad, grazie a particolari schede con processori compatibili on-board. Tra le più note sicuramente merita menzione  la Z80 SoftCard con CP/M 2.2 per l'Apple II prodotta nientemeno che da Microsoft.

commodore_cpm

Versione del CP/M per Commodore 64 

ms apple2 softcard

Microsoft Apple II Soft Cart

 cpm2.2 6128

 CP/M 2.2 per Amstrad CPC6128

Del CP/M viene rilasciata anche una specifica release chiamata CP/Net, con specifiche funzionalità di rete.

Free Joomla templates by Ltheme