CP/M Release 2.xx

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