Ecco CP/M: il padre di MS-DOS e (nonno?) di Windows

CP/M è stato un sistema operativo per micro e personal computer, prodotto dalla Digital Research nel 1974.

Il CP/M è stato sviluppato dal Digital Research di Gary Kildall. Kildall è noto, oltre per avere fondato l’azienda produttrice dell’OS, anche per il fallito accordo di commercializzazione del CP/M insieme ai PC IBM. La DR, invece, è nota più che altro per la produzione del sistema operativo DR-DOS, il quale non è altro che un derivato del CP/M-86. Il sistema operativo prende il nome da Control Program for Microprocessor e fu sviluppato inizialmente per l’Intel 8080 ma era compatibile acnhe con lo Zilog Z80. Oltre a queste due, fu rilasciato successivamente anche per l’Intel 8086 e il Motorola 68000. Per chi non lo sapesse, questi quattro processori sono stati i pilastri dei personal computer negli anni 70-80.

La prima applicazione del CP/M fu nel MITS Altair, insieme al Bus S-100. Il MITS Altair 8800 è considerato il primo micromputer disponibile sul mercato. Non aveva nessun’interfaccia, se non dei LED posti sul pannello frontale e degli interruttori. Da questa versione primitiva, l’OS di Kildall, potè vantare un successo notevole. Tant’è che ci furono delle schede d’espansione per l’Apple II, come la Microsoft Z80 Card per utilizzarlo anche sui personal non compatibili. Anche il Commodore 64, grazie alla CP/M Cartdrige potè vantare della possibilità di espandersi. Il Commodore 128, invece, possedeva già una CPU Zilog Z80 e perciò era già nativamente compatibile con il Control Program.

C128-C128D Bootdiskette CPM-Modus.png
Il dischetto del CP/M per Commodore 128. Di Tocchet22 – Eigenes Werk – own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=42111992

 

Cosa lo ha contraddistinto

La novità introdotta dal CP/M fu la possibilità di rendere il sistema operativo indipendente dall’hardware su cui girava. Un po’ come Windows oggi. All’epoca non esisteva un unico OS per tutti. Linux ancora non era stato inventato e Unix era solo per utilizzi su grandi computer. Ogni produttore aveva il suo sistema chiuso e differente. Un OS generico era davvero un’innovazione.

Il CP/M utilizzava dei livelli di astrazione nel quale poteva accedere all’hardware tramite un livello software chiamato BIOS. Sì, lo stesso BIOS che conosciamo oggi. In questo modo gli sviluppatori poterono scrivere un’unica versione dell’OS per ogni computer che avesse avuto un BIOS apposito.

Il livello superiore al Basic Input Output System è l’OS vero e proprio, diviso in due parti: il CCP (Command Control Processor) e il BDOS.

CCP

Il CCP (e non il CCCP, quella è roba comunista…) si occupava di interpretare i comandi. Ogni comando era formato da una parola chiave seguita da un elenco di parametri. Ad esempio:

Un comando già conosciuto in DOS, vero?

BDOS

Il BDOS trasferiva le informazioni ricevute dal CCP (e quindi dall’utente) in istruzioni ad un livello più basso, le quali venivano eseguite dal BIOS. Il BDOS era composto da 40 istruzioni base che permettevano l’interazione con il disco e le periferiche seriali collegate alla macchina.

BIOS

Il BIOS era la parte che eseguiva effettivamente le operazioni, le quali venivano introdotte dal BDOS. Vi erano 20 funzioni base, le quali comandavano il posizionamento delle testine sui dischi, la lettura di un settore etc.

Il passaggio ad MS-DOS

Il CP/M-86, ovvero la versione a 16 bit del sistema operativo, avrebbe dovuto essere il sistema operativo per il PC IBM. Tra IBM e Digital Research, però, non fu raggiunto un accordo. IBM si rivolse dunque a Microsoft, la quale da un clone di una parte del CP/M dette la luce ad MS-DOS, il quale divenne il sistema operativo del PC-IBM e dei numerosissimi “compatibili” degli anni successivi.

L’eredità del CP/M su MS-DOS

La base di MS-DOS condivideva, anzi, era praticamente identica al CP/M. La gestione dei file di dati era identica, infatti entrambi utilizzano il sistema a lettere per le unità a disco (cosa che ancora Windows possiede). L’innovazione portata dall’azienda di Redmond, però, fu il file system FAT. Un gestore standard ed unico.

Blinking DOS prompt.gif

Le ultime versioni di CP/M

Digital Research ha continuato, comunque, a sviluppare il sistema operativo. Le ultime versioni del CP/M-86 hanno subito significativi miglioramenti sia nelle prestazioni che a livello d’interfaccia utente. Rispetto ad MS-DOS era divenuto anche multiutente e multitasking, come UNIX. Digital Research fu spinta, per ovvi motivi commerciali, a creare poi il DR-DOS.

 

Francesco Grecucci

Mmh…c’è tanto da dire, ma non ti annoierò! Ho questo blog dal 2016 e studio all’ultimo anno di Informatica alle superiori a Taranto, in Puglia. Mi piacciono molto i vecchi computer, la fotografia e la musica. Ho anche scritto un libro, ma quella è un’altra storia…

Francesco Grecucci

Francesco Grecucci

Mmh...c'è tanto da dire, ma non ti annoierò! Ho questo blog dal 2016 e studio all'ultimo anno di Informatica alle superiori a Taranto, in Puglia. Mi piacciono molto i vecchi computer, la fotografia e la musica. Ho anche scritto un libro, ma quella è un'altra storia...