CP/M (Control Programm for Microcomputer) war das erste kommerzielle 8-Bit Betriebssystem der EDV-Geschichte. Es vereinfachte den Umgang mit den ersten Microcomputern erheblich, da es die Anwender (und auch die Anwendungsprogrammierer) weitgehend davon befreite, sich detailliert mit der verwendeten Hardware auseinandersetzen zu müssen. Seine Entwicklungsgeschichte überschneidet sich ab 1981 sich mit dem bekannten MS-DOS von Microsoft. Vor dieser Zeit war es das mit großem Abstand am weitesten verbreitete OS für Mikrocomputer (ca. 2 Millionen registrierte Lizenzen). Im Zusammenhang mit diesem legendären Betriebssystem ist vor allem ein Mann zu nennen: Dr. Gary Kildall.
Gary Kildall promovierte 1972 an der University of Washington in Informatik und hatte bereits Programme für den Intel 4004/8008 entwickelt. Er war 1973 bei der Präsentation des neuen Intel 8080 (einem neuen 8-Bit Mikroprozessor) anwesend, da er zu dieser Zeit für Intel als Berater tätig war. Er erkannte die neuen professionellen Einsatzmöglichkeiten, die sich mit dem Erscheinen des 8080 eröffneten. Kildall machte den Intel Managern den Vorschlag, die Mainframe-Programmiersprache PL/I (Programming Language/One) als Compiler auf den 8080 umzusetzen. Die so entstandene Programmiersprache PL/M (Programming Language for Microprcessors) wurde von Tom Rolander – ebenfalls Intel Berater – auch für das Intel Entwicklungssystem MDS-800 angepasst. Später arbeitete Rolander übrigens für Digital Research wo er zusammen mit Gary Kildall und Dorothy McEwen (die spätere Frau von Gary Kildall) das CP/M und die Tools dazu weiter ausprogrammierte.
Auf Basis von PL/M plante Gary Kildall, ein echtes Betriebssystem für den 8080 entwickeln. Da die Firma Shugart bereits Floppy Laufwerke in Serie produzieren konnte (IBM hatte die Technik erfunden) ging der Visionär Kildall davon aus, das es bald komplette Computersysteme in einer auch für Einzelanwender erschwinglichen Preisklasse geben könnte. Daher sollte eine entsprechende Unterstützung in Form eines Dateisystems in seinem zukünftigen Betriebssystem vorhanden sein.
Ende 1974 war die erste Version von CP/M fertig, ausschließlich entwickelt von Gary Kildall und seinem PL/M Crosscompiler auf einer DEC PDP-9, deren Betriebssystem TOPS-10 einen 8080 emulieren konnte. Das Filesystem von TOPS-10 verwendet die 8+3 Konvention für Dateinamen. Gary Kildall übernahm diese Konvention, Microsoft übernahm sie von CP/M und somit ist TOPS-10 dafür verantwortlich, das wir bis Windows 3.11 und bis heute bei der Benutzung von Disketten unter modernen Windows Betriebssystemen immer noch diese Beschränkung haben. CP/M 1.0 beanspruchte nur 3K Platz im Hauptspeicher eines Rechners und unterstützte Diskettenlaufwerke von IBM. Der Verkaufserfolg von CP/M 1.0 bis 1.2 war jedoch eher gering.
Kildall programmierte noch weitere Tools für das Dateimanagement sowie einen Texteditor und einen Assembler. Nachdem Intel an seiner PL/M Programmiersprache kein Interesse mehr hatte, bot er an, sein CP/M zu vermarkten. Aber Intels Marketing-Strategen sahen zu dieser Zeit keinen Markt für ein Single-User Betriebssystem. Ein anderer Weg mußte gefunden werden, um CP/M an den Mann zu bringen. Kleinanzeigen in der Fachzeitschrift “Dr. Dobbs Journal” wurden geschalten, in welchen CP/M für ca. 70 US$ angeboten wurde. Diese Ausgabe liegt uns nicht vor, aber ersatzweise eine (einseitige!) Anzeige im “Byte Magazine” aus dem Jahr 1977 (Ausgabe 7):


1976 brachte Alan Shugart die ersten Diskettenlaufwerke zu einem Preis von 390 $ auf den Markt. Dies war das Ereignis, das sich Gary Kildall erhofft hatte, denn dadurch würde die Speicherung von Daten auch für Homecomputer-Enthusiasten erschwinglich werden. Um den Vertrieb seines Betriebssystems besser organisieren zu können, gründete Kildall die Firma Digital Research. Ebenfalls 1976 nahm der Computerhersteller IMSAI Kontakt zu Kildall auf. Wie viele andere Hersteller hatte auch die Firma IMSAI einen Computer auf Basis des Intel 8080 entwickelt (in diesem Fall ein Clone des ‘Altair 8800’), jedoch mit einem eigenen 8″-Diskettensystem, das nicht kompatibel zum von CP/M unterstützten IBM Format war. Eine spezielle Anpassung wäre erforderlich gewesen. An diesem Punkt hatte Killdall die geniale Idee, die gesamten hardwareabhängigen Routinen in einem eigenen Betriebssystemteil von CP/M zu kapseln, um damit den Aufwand für zukünftige Hardware-Anpassungen gering zu halten. Er bezeichnete diesen innersten Kern seines Systems in der Version 1.3 als FDOS (Floppy Disk Operating System). FDOS wiederum spaltete sich auf in das hardwarenahe BIOS (Basic Input/Ouput System) und das BDOS (Basic Disk Operating System).
