CP/M
CP/M ist eine Reihe von Betriebssystemen, die ab etwa 1974 von Digital Research Inc. unter Gary Kildall entwickelt wurden. CP/M war (neben dem für leistungsstärkere Rechner konzipierten Unix) das erste plattformunabhängige Betriebssystem. Eine Multiuser-Variante wurde unter dem Namen MP/M entwickelt. Mit dem Aufkommen von MS-DOS verlor CP/M seine Bedeutung.
CP/M ohne nähere Bezeichnung steht meist für CP/M-80, die ursprüngliche, ab 1974 entwickelte Version für die Mikroprozessoren Intel 8080 und Zilog Z80. Die letzte Version von CP/M-80 wurde CP/M-Plus genannt. CP/M-86 war eine Portierung auf die Prozessoren Intel 8086/8088. Mit CP/M-68K folgte eine wenig erfolgreiche Variante für den Motorola 68000.
Das Akronym CP/M bedeutete ursprünglich Control Program/Monitor (d. h. Steuerungsprogramm/Monitor), wurde später jedoch als Control Program for Microcomputers umgedeutet.
Aufbau
Den Kern von CP/M bildet das BIOS (Basic Input/Output System), welches eine standardisierte Schnittstelle für die hardwarenahen Aufgaben zur Verfügung stellt, vor allem zur Ein- und Ausgabe. Lediglich dieser Teil des Betriebssystems musste an den jeweiligen Computertyp angepasst werden, was normalerweise durch den Hersteller geschah. Die restlichen Teile konnten ohne große Veränderungen übernommen werden, da sie lediglich auf den Funktionen des CP/M-Kerns aufbauen.
Die standardisierten Funktionen des BIOS werden verwendet vom hardwareunabhängigen BDOS (Basic Disk Operating System), das "höhere" Funktionen zur Verfügung stellt, vor allem zur Dateiverwaltung. Dieses greift auf die Hardware nur indirekt über das BIOS zu, wodurch die Hardwareunabhängigkeit realisiert wird.
Das BDOS wiederum wird vom CCP (Console Command Processor) verwendet, der die Befehle des Benutzers entgegennimmt, einige einfache Befehle selbst ausführt, und andernfalls ein entsprechendes Programm lädt und startet.
Anwendungsprogramme kommunizieren mit der Hardware meist nur über das gleichbleibende BDOS und über die standardisierten Einsprungpunkte des BIOS, und sind somit portabel. Allerdings sind die Anwendungsprogramme für CP/M aus Geschwindigkeits- und Speicherplatzgründen oft in Assemblersprache geschrieben und wurden nur selten als Quellcode veröffentlicht, sodass Portabilität in der Praxis nur innerhalb einer Prozessorfamilie gegeben ist.
Diese Struktur wurde später auch durch MS-DOS übernommen: Hier heiß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.
Schwachpunkte
Ein großer Schwachpunkt von CP/M war, dass es kein einheitliches Diskettenformat für 5.25-Zoll-Disketten gab. Das einzige "offizielle" Format war ein 8-Zoll-Format, sodass nach dem weitgehenden Verschwinden der unhandlichen 8-Zoll-Laufwerke der Austausch von Disketten zwischen CP/M-Rechnern verschiedener Marken sehr schwer bis unmöglich wurde. Auch die Bildschirm- und Drucker-Steuerung war in CP/M-Systemen nicht einheitlich (CP/M war ursprünglich für bildschirmlose, Fernschreiber-basierte Systeme entwickelt worden), sodass man vor der ersten Nutzung eines kommerziellen Programms diesem oft den verwendeten Bildschirm und Drucker mitteilen musste – und darauf hoffen, dass das Programm die entsprechenden Modelle auch kannte. Spätere CP/M-Systeme emulierten häufig weitverbreitete Bildschirmtypen, damit möglichst viel Software darauf laufen konnte.
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.
1983 erschien mit CP/M-Plus 3.0 die letzte Version des klassischen 8080er-CP/Ms, welche nun mittels Bank Switching auch mehr als 64 KB Speicher unterstützte. Jedoch war diese Version zugleich auch langsamer und verbrauchte mehr Speicher für sich selbst. Diese Version ist zwar dank des Commodore 128, bei dem sie mitgeliefert wurde, die weltweit meistverkaufte, konnte allerdings, was die tatsächliche Nutzung betrifft, nicht mehr an die Popularität des kleineren und schnelleren CP/M 2.2 anknüpfen.
Typische Hardware
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 KiB Hauptspeicher, einen einfarbigen Bildschirm, der 80×24 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.
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 1 und die KayPro-Modelle; auf dem Apple II wurde CP/M häufig mittels einer zusätzlichen Z80-Prozessorkarte genutzt: Apple CP/M.
Auch auf vielen Heimcomputern konnte CP/M genutzt werden, beispielsweise auf dem Schneider CPC und dem Commodore 128; in der Praxis wurde es auf Heimcomputern aber eher selten genutzt, da diese zusätzlich jeweils noch ein eigenes Betriebssystem mitbrachten, das besser auf die jeweilige Hardware abgestimmt war und somit vor allem für die Erstellung von Computerspielen viel besser geeignet war als CP/M. Unter CP/M wurden dagegen eher typische Anwendungsprogramme wie Textverarbeitung, Tabellenkalkulation, kleine Datenbanken und Programmiersprachen wie Pascal genutzt.
In der DDR wurde CP/M unter der Bezeichnung SCP für U880 (Z80) bzw. SCP86 für 8086-Hardware für Datenerfassungsgeräte und Bürocomputer (damals Hersteller Robotron Karl-Marx-Stadt/Dresden/Sömmerda/Zella-Mehlis) eingesetzt. Beim Industrievertrieb Rundfunk und Fernsehen (Kombinat/BT Erfurt) existierte z.B. eine komplette Fakturierung (Hardware Z80 / 64KB / 4x Disketten-LW 800KB) die ca. 15000 Artikel verwalten konnte. Später entstand mit OS/M in der DDR ein CP/M-kompatibles Betriebssystem.
Portierungen von CP/M
CP/M-86
Neben der 8080/Z80-Version von CP/M, erlangte vor allem CP/M-86 praktische Bedeutung, eine CP/M-Version für 8086- und 8088-CPUs von Intel.
CP/M-86 hatte 1981 durchaus die Chance, zum Standardbetriebssystem des IBM PC, dem ersten Personal Computer von IBM, zu werden. Aufgrund von bis heute umstrittenen Umständen bekam CP/M aber einen Konkurrenten: MS-DOS von Microsoft. Obwohl IBM anfangs dem Kunden die Wahl des Betriebssystems überließ, setzte sich MS-DOS – das in der von IBM ausgelieferten Variante PC-DOS hieß – aufgrund seines niedrigeren Preises von 40 Dollar recht schnell gegen das wesentlich teurere CP/M-86 durch, zumal Anwendungsprogrammierer Software zunächst für beide Plattformen entwickelten. MS-DOS ist eine Weiterentwicklung von QDOS von Seattle Computer Products, die konzeptionell stark an CP/M-80 angelehnt war (siehe auch MS-DOS). Nachdem Microsoft mehrere Monate Anpassungen an die IBM-PC-Hardware vorgenommen hatte, kaufte es kurz vor dessen Vorstellung endgültig die Rechte an QDOS, das zwischenzeitlich in 86-DOS umbenannt worden war.
1988 wurde eine stark weiterentwickelte, vollständig MS-DOS-kompatible Version von CP/M-86 als DR-DOS herausgebracht und machte Microsoft nochmals einige Jahre lang ernsthafte Konkurrenz. Als sich DR-DOS anschickte, auch bei System-Distributoren als ernsthafte Alternative zu MS-DOS in Erwägung gezogen zu werden, sorgte eine Fehlermeldung in einer Vorabversion des grafischen Betriebssystemaufsatz Windows 3.0 unter DR-DOS für Verunsicherungen. Obwohl Windows nach dem Wegklicken der Fehlermeldung problemlos unter DR-DOS lief, kamen Zweifel an der vollständigen Kompatibilität von DR-DOS zu MS-DOS auf. Von diesem Ruf konnte sich DR-DOS nie wieder richtig befreien. Es spricht viel dafür, dass Microsoft diese Fehlermeldung absichtlich eingebaut hatte, um bei seinen Kunden den Eindruck der nicht hunderprozentigen Kompatibilität zwischen DR-DOS und MS-DOS zu erwecken. In einem späteren Gerichtsverfahren war von einem Gutachten die Rede, das diese Vermutung belege. Da der Prozess in einem Vergleich endete, wurde die Schuld Microsofts aber nie gerichtlich festgestellt.
CP/M-68K
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.
TurboDOS
Bestand CP/M noch aus drei monolitischen Blöcken, so existierte in TurboDOS ein hochmodulares, kompatibles System, das Multitasking- und Multiprocessingfähigkeiten besaß.
MP/M
Eine Multi-User-Version von CP/M. Mehrere Benutzer konnten über ASCII-Terminals gleichzeitig an einem Rechner arbeiten.
Bekannte Programme für CP/M
- 1976 Electric Pencil von Michael Shrayer, 250.000 verkaufte Exemplare
- WordStar von MicroPro, eine Textverarbeitung.
- Microsoft Multiplan von Microsoft, eine Tabellenkalkulation.
- dBase II von Ashton-Tate, eine Datenbanksoftware.
- Turbo Pascal von Borland, eine Entwicklungsumgebung für die Programmiersprache Pascal.