|
|
Ursprünglich für den Intel 8080 programmiert, wurde es neben Unix zum ersten plattformunabhängigen Betriebssystem überhaupt. Dadurch, dass CP/M auf dem Prinzip des BIOS (Basic Input/Output System) aufbaute, war es sehr leicht zu portieren, und somit nicht an einen Computertyp gebunden.
Allerdings waren die Anwendungsprogramme aus Geschwindigkeits- und Platzgründen oft in Assembler geschrieben und wurden nur selten als Quellcode veröffentlicht, sodass Portabilität in der Praxis nur innerhalb einer Prozessorfamilie gegeben war. Praktische Bedeutung erlangte neben der 8080er-Version von CP/M v.a. die Version für den Intel 8086 (genannt CP/M-86).
Die Portierung auf den Motorola 68000, genannt CP/M-68k, selbst kein großer kommerzieller Erfolg, wurde zur Grundlage für TOS, das Betriebssystem des Atari ST.
Den Kern von CP/M bildet das BIOS (Basic Input/Output System), mit hardwarenahen Aufgaben, vor allem zur Ein- und Ausgabe. Lediglich dieser Teil des Betriebssystems muss an den jeweiligen Computertyp angepasst werden, was normalerweise durch den Hersteller geschah.
Die restlichen Teile können ohne große Veränderungen übernommen werden, da sie ja lediglich auf den Funktionen des CP/M-Kerns aufbauen.
Über dem BIOS lag das BDOS (Basic Disk Operating System), das "höhere" Funktionen zur Verfügung stellte, vor allem zur Dateiverwaltung.
Das BDOS wiederum wurde vom "Console Command Processor" CCP verwendet.
Diese Struktur wurde von MS-DOS übernommen: Hier hießen die oben beschriebenen Teile nun IO.SYS, MSDOS.SYS und COMMAND.COM. Überhaupt lehnte sich die erste Version von MS-DOS sehr stark an CP/M an, die hauptsächliche Änderung war ein verbessertes Dateisystem. Allerdings wurde die Portierbarkeit von MS-DOS, im Gegensatz zu CP/M, bald aufgegeben und es wurde fest an die IBM PC-Platform gebunden.
CP/M wurde auch von vielen Bastlern auf ihren selbstgebauten Computern verwendet. Dominierten in der Frühzeit noch S100-Systeme wie etwa der IMSAI, so waren bekannte kommerzielle CP/M-Computer der späteren Jahre der Osborne und die KayPro-Modelle; auf dem Apple II wurde CP/M häufig mittels einer zusätzlichen Prozessorkarte genutzt.
Auch auf vielen Heimcomputer konnte CP/M genutzt werden, beispielsweise auf den Schneider-Computern und dem Commodore 128; in der Praxis wurde es auf Heimcomputern aber eher selten genutzt.
Typische Rechner aus den frühen 1980er Jahren, auf denen CP/M eingesetzt wurde, hatten eine CPU Zilog Z80 (aufwärtskompatibel zum Intel 8080) mit 2 bis 4 MHz, 64 oder 128 Kilobyte Hauptspeicher, einen einfarbigen Bildschirm, der 80x24 Zeichen Text (aber keine Grafik) darstellen konnte, ein oder zwei Floppylaufwerke mit 8-Zoll oder 5.25-Zoll-Disketten, evtl. auch eine Festplatte mit ca. 5 MB.
Ein großer Schwachpunkt von CP/M war, dass es kein einheitliches Diskettenformat für 5.25"-Disketten gab. Das einzige "offizielle" Format war ein 8"-Format, sodass nach dem praktischen Aussterben der 8"-Laufwerke der Austausch von Disketten zwischen CP/M-Rechnern verschiedener Marken praktisch unmöglich wurde. Auch die Bildschirm- und Drucker-Steuerung war in CP/M-Systemen nicht einheitlich (CP/M war ursprünglich für Bildschirmlose, Fernschreiberbasierte Systeme entwickelt worden), sodass man vor der ersten Nutzung eines kommerziellen Programms diesen oft den verwendeten Bildschirm und Drucker mitteilen musste.)
Mit dem raschen Abfall der Speicher-Preise ab etwa 1981 wurde auch die Beschränkung auf 64 Kilobyte direkt nutzbaren Speicher ein Problem - schuld war hier allerdings nicht CP/M selbst, sondern die 8-Bit-Prozessoren, auf denen es hauptsächlich eingesetzt wurde. Auch die schlechte Eignung für Festplatten, vor allem die nicht vorhandenen Unterverzeichnisse, bremste CP/M ab etwa 1982 zunehmend aus.
CP/M-86 wäre 1981 beinahe zum Standardbetriebssystem des ersten PC von IBM geworden, siehe auch: MS-DOS.
1983 erschien mit CP/M-Plus 3.0 die letzte Version des klassischen 8080er-CP/Ms, welche nun mit einigen Tricks auch mehr als 64 KB Speicher unterstützte. Diese Version ist zwar dank des Commodore 128 die meistverkaufte, konnte allerdings, was die tatsächliche Nutzung betrifft, nicht mehr an die Popularität des einfacheren CP/M 2.2 anknüpfen.
1988 wurde eine weiterentwickelte, an MS-DOS angeglichene Version von CP/M-86 als DR-DOS herausgebracht.
Bestand CP/M noch aus drei monolitischen Blöcken, so existierte in TurboDOS ein hochmodulares, kompatibles System, das Multitasking- und Multiprocessingfähigkeiten besaß.
Bekannte Programme für CP/M