|
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,
dann für das Intel Entwicklungssystem MDS-800 entwickelt. Später
arbeitete Tom übrigens für Digital Research wo er zusammen
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 habe ich nicht, 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).
| |
 |
|
Dieses Konzept Kildall's war zukunftsweisend
für spätere Entwicklungen (das Prinzip wird bis heute
angewendet!) und hat entscheidend zur großen Verbreitung von
CP/M beitragen. Die in den Funktionsmodulen definierten standardisierten
Sprungtabellen ermöglichten eine einfache Portierung von CP/M
auf unterschiedlichste Hardware. Nur der Intel 8080 (oder eine kompatible
CPU) war eine zwingende Voraussetzung.
Über diesen beiden Kernfunktionen
BIOS und BDOS legte er ein Bedienerprogramm, den CCP (Console
Command Processor). Dieses wird beim Booten von einer
Diskette automatisch in den Speicher des Rechners geladen, benötigt
dort ca. 2K und interpretiert die Benutzereingaben. Anfangs unterstützte
der CCP nur 5 Kommandos
| DIR |
Diskettenverzeichnis anzeigen |
| ERA |
Eine oder mehrere Dateien löschen |
| REN |
Datei umbenennen |
| SAVE |
Speicherbereich als Diskettendatei ablegen |
| TYPE |
Datei ausgeben |
Eine Erweiterung mit eigenen, externen
Kommandos war möglich. Diese mussten in Form ausführbarer
Dateien vorliegen und wurden vom CCP gestartet. Die Bekanntesten
sind PIP (zum Kopieren von Dateien und Disketten) und ED, der
zeilenorientierte Texteditor.
In der Microcomputerwelt wurde CP/M jetzt
schnell zum Betriebssystem der ersten Wahl. Viele Hersteller
mit unterschiedlichster Hardware (u.a. MITS, Vector, Northstar,
Heath, Cromenco) lizensierten im Jahre 1977 CP/M für ihre
Modelle, da es sich über
das BIOS leicht an die eigenen Systeme anpassen ließ und
bereits mit 16K RAM anstandslos funktionierte. Der Umsatz von
Digital Research stieg noch im gleichen Jahr enorm an und wuchs
zu einem ertragreichen Unternehmen heran.
Ende der 70iger Jahre begann sich Zilog mit dem
Z80 Prozessor auf dem Markt durchzusetzen, da er leistungsfähiger
war als der inzwischen in die Jahre gekommenen 8080. Wie bereits
erwähnt war zu diesem Zeitpunkt CP/M jedoch nur auf einem
Intel 8080 oder einer komaptiblen CPU lauffähig. Diese Ära
endete jetzt. Die letzte auf den 8080 spezialisierte Version 1.4
kam 1979 auf den Markt. Diese Version benötigte
20K Hauptspeicher (16K RAM kosteten damals fast 400 US$!) und
ein einseitiges IBM-kompatibles Diskettenlaufwerk.

Die meisten Hersteller setzten nun den preiswerten
Z80 (manche auch den Intel 8085) in ihren Systemen ein, entsprechende
Anpassungen von CP/M für einen Einsatz auf den unterschiedlichen
CPU's erfolgten 1979 mit der Version 2.0. Das nun völlig überarbeitete
CP/M wies anfangs allerdings viele Fehler auf und wurde schnell
durch eine fehlerbereinigte Version 2.1 ersetzt. Zur Unterstützung
der aufkommenden Festplatten wurden in der Version 2.2 Formatierroutinen
zur Unterstützung von Laufwerken bis zu 8 MB eingeführt.
Die Version 2.2 erschien 1980, war sehr stabil und konnte sich in
den folgenden Jahren bei Büro-PC's und professionellen Anwendern
auf breiter Front durchsetzen, nur wenige namhafte Hard- und/oder
Softwarehersteller (z.B. Commodore) hatten zu dieser Zeit keine
Produkte für CP/M im Regal. Stellvertretend für die vielen
Hersteller wie DEC, Osborne, Kaypro, Morrows u.s.w. hier ein Bootscreen
der NCR Decision Mate V mit CP/M 2.2 sowie mit gestartetem dBase
II (tut mir leid wegen der schlechten Bildqualität, Screenshots
sind nicht meine Stärke):
  
Neben dem Betriebssystem kümmerte
sich DR auch um die Entwickler und stellte verschiedene Softwaretools
zur Verfügung. Im Bild die Programmiersprache PL/1, der AccessManager
(Datei-Handling, Datenbank), die Programmers Utilities (Editor u.a.)
sowie den Display Manager (Entwicklung für verschiedene Bildschirmauflösungen).

Da bereits im Mai 1978 mit dem Typ 8086 der erste
Intel 16-Bit Prozessor erschienen war, plante Kildall eine 16-Bit
Version von CP/M. So wurde 1979 mit der Entwicklung von CP/M 86
begonnen. Ebenfalls 1978 kam Motorola mit der 68000er CPU auf den
Markt, wie der 8086 ein 16 Bit Prozessor. Auch hierfür gab
es später eine Umsetzung in Form von CP/M 68K.

Jack Tramiel liess diese Version speziell für
seine Atari 68000-Modelle von DR anpassen, weigerte sich aber,
für
einzelne Lizenzen zu bezahlen. Tramiel war lediglich bereit, DR
den Entwicklungsaufwand zu honorieren. Bis auf den Kernel blieb
bei dieser Variante allerdings nicht viel von CP/M 68K übrig.
In der Atari- Variante ähnelte CP/M am Ende eher MS-DOS.
Digital Research entwickelte später mit
GEM (Graphic Enviroment Manager) eine grafische Benutzeroberfläche
für Atari. Bereits ein Jahr vor der ersten Windows Version,
Ende 1984, erschien auch die Intel-Version von GEM. Der Vorteil
dieses GUI war, das die Hardwareansprüche wesentlich
geringer ausfielen als die von Windows. GEM lief auch auf
einem 8086 PC ohne Festplatte, war - nicht nur wegen der
konsequenteren Verwendung von Icons - optisch filigraner und
auch ohne Farbgrafik noch ansehnlich. Bis 1990 fand dann ein
direkter Konkurrenzkampf zwischen Windows und GEM statt, der
hauptsächlich in
den Fachzeitschriften ausgetragen wurde. Doch die Vermarktungsstrategie
von Microsoft stellte sich letztendlich als die bessere heraus.
Ein Microsoft-Trick war z.B., Produktversionen in Aussicht
zu stellen, deren Entwicklung zum Zeitpunkt der Ankündigung
noch nicht mal begonnen hatte. Aber so hielt man viele Kunden
vom GEM-Kauf und die Entwickler von der Umsetzung Ihrer Applikationen
auf GEM ab. Mit Erscheinen von Windows 3.0 im Jahr 1990 und
der erheblich gestiegenen Leistung der Computer-Hardware endete
der Kampf, mit Microsoft und Windows als Sieger.
1979 wurden drei weitere Linien der CP/M-Familie
begründet:
- die Multi-User Variante von CP/M 80, bezeichnet als MP/M 80 (Multi-Programming
Monitor Control Program), lauffähig auf 8080 oder Z80 CPU's.
Es ermöglichte mehreren Benutzern den Zugriff auf einen einzigen
Computer via Terminals und war in gewisser Weise multi-tasking fähig
(so würde man es heute bezeichnen, denn dieser Begriff
existierte zu dieser Zeit noch gar nicht. DR nannte diese Funktionalität
Nucleus). MP/M erlaubte Benutzern, mehrere Programme zu starten
und zwischen ihnen umzuschalten und ermöglichte gleichzeitige
I/O Operationen. Das Dateiformat war zwar zu CP/M identisch, ansonsten
lief nicht jede CP/M Anwendung auch auf MP/M. Wenn Sie mehr über
MP/M wissen wollen, hier können Sie das Handbuch
lesen.
- die multi-tasking fähige Single-User-Variante in Form von
Concurrent CP/M 80 (Bilder weiter unten bei Concurrent CP/M 86)
- Netzwerkerweiterungen in Form von CP/NOS und Ende 1979/Anfang
1980 CP/NET. Als Hardware benutzte man damals das ARCNET von Datapoint.
Diese Systemerweiterungen verkauften sich nicht besonders gut.
1980 verstand niemand, wozu das gut sein sollte, denn dafür
gab es doch die terminalbasierten Mainframes...
CP/M war so erfolgreich, das selbst andere Computer
ohne 8080 oder Z80 Prozessoren Erweiterungskarten einsetzten um
die inzwischen riesige Menge an CP/M Software nutzen zu können.
Für Verkaufsschlager wie den Apple II (MOS 6502) gab es Z80-Karten.
Die erfolgreichste CP/M-Zusatzkarte für den Apple II vertrieb
Microsoft. Unglaublich, aber angeblich wahr: 1980 konnte Microsoft
so viele Softcard's
absetzen wie DR im gleichen Jahr CP/M Lizenzen.

Die Installationsbasis von CP/M stieg
auf 200.000 Systeme, wobei viele unterschiedliche Hardwarekonfigurationen
unterstützt werden mußten. Der Umsatz von Digital Research
erreichte 1981 6 Mio $, 75 Angestellte arbeiteten zu dieser Zeit
in der Firma. CP/M 2.2 bildete auch die Grundlage für MS-DOS.
Wieso das ? Weil nach Expertenmeinung das 1980 von Tim Paterson
entwickelte Betriebssystem QDOS sich an CP/M
2.2 orientierte und aus diesem QDOS im Jahre 1981 MS/PC-DOS entstand
(siehe Wissenswertes
über MS/PC-DOS).
Auch Homecomputer wie der Amstrad CPC oder Commodore
C64 (Hardware-Erweiterung mit Z80 CPU, aufgrund des 40 Zeichen-Modus
allerdings nur sehr eingeschränkt nutzbar) konnten CP/M 2.2
einsetzen.
Die letzte CP/M Version für 8 Bit Rechner,
CP/M 3.0 bzw. CP/M Plus kam 1982 auf den Markt und unterstützte
die Technik des "Bank Switching". Eine Notlösung,
die durch die gefallenen Speicherpreise erforderlich wurde: durch
diesen Programmiertrick stand Systemen mit höherem RAM Ausbau
(z.B. 128K) für Anwendungsprogramme bis zu 62K des durch CP/M
maximal adressierbaren Speichers zur Verfügung. Der Commodore
128 war hierzulande einer der bekanntesten Computer, die standardmäßig
mit CP/M 3.0 ausgeliefert wurden:

1981 war ein entscheidendes Jahr
für Gary Kildall und Digital Research. IBM suchte ein Betriebssystem
für seinen PC. Folgerichtig wendete sich IBM auch zuerst
an Kildall, denn das in Arbeit befindliche CP/M 86 des Marktführers
für Mikrocomputer-Betriebssysteme wäre eigentlich
das adäquate Produkt für IBM's PC gewesen. Die Verhandlungen
zwischen IBM und DR scheiterten jedoch (siehe Wissenswertes
über MS/PC-DOS). Was auch immer genau die Ursache dafür
war, der praktisch nicht vorhandene Geschäftsinstinkt Gary
Kildalls war mit Sicherheit ein wesentlicher Faktor, der zu dieser
historischen Fehlentscheidung geführt hat. Sie markierte
auch den Zeitpunkt für den Anfang vom Ende von Digital
Research, obwohl IBM letztendlich auch CP/M 86 in der Optionsliste
für
den IBM PC führte.
  
Der IBM PC Version von CP/M 86 1.1
(aus dem Jahre 1982) lag ein Flyer
bei (habe ich leider nur in englischer Sprache). Dieser verdeutlicht,
das man Digital Research bereits den Managementfehler erkannt
hatte und nun versuchte, die "davonschwimmenden Felle" noch
einzusammeln, indem man das eigene OS als das "Bessere"
für den IBM PC bewarb. Man hatte also immerhin 1 Jahr gebraucht,
um den Erfolg des IBM PC's und den damit verbundenen eigenen Marketing-Fehler
zu realisieren!
1982 erscheint die 16-Bit Version von Concurrent-CP/M.
Diese ist in der Lage, MS-DOS 1.0 und 1.1 zu emulieren. Auch eine
16-Bit Version von MP/M wird noch auf den Markt gebracht.
  
Aber die Zeit von CP/M ist vorüber, MS-DOS
2.x konnte sich nach und nach auf einer immer breiter werdenden
Front durchsetzen. DR hatte es verpasst, ein hierarchisches Dateisystem
einzuführen, wie es MS mit DOS 2.x getan hatte. CP/M war dadurch
bei den sich immer stärker verbreitenden Festplattensystemen
MS-DOS unterlegen. Die Softwarehersteller, die bisher Programme
für CP/M hergestellt hatten, erkannten dies und modifizierten
ihre Produktpalette zugunsten von MS-DOS.

Quelle: http://www.freedos.org
Hier endet die Geschichte von CP/M, des ersten
Betriebssystems für Mikrocomputer. CP/M ist heute ein freies
Betriebssystem, die Quellcodes sind öffentlich einsehbar unter:
http://www.cpm.z80.de.
Die Geschichte von Digital Research geht noch
ein paar Jahre weiter, denn man entwickelte auf Basis von CP/M
86 ein eigenes, zu MS-DOS kompatibles Betriebssystem. Die erste
Version war 1988 DR-DOS 3.31, ausgeliefert wurde ab 1989 DR-DOS
3.41. Weitgehend kompatibel war es allem billiger als das Pedant
von Microsoft. In Teilbereichen war DR-DOS 3.41 MS-DOS sogar überlegen,
z.B. konnte es Festplatten bis 512MB verwalten. Viele Computerhersteller
lieferten DR-DOS erfolgreich im Bundle mit Windows aus. Doch
diesem Treiben von DR setzt Microsoft ein Ende. Behauptung
kursierten durch die Fachzeitschriften, das MS zum Einen Windows
so veränderte,
das es beim Betrieb unter DR-DOS nicht mehr korrekt funktionierte
bzw. den Dienst komplett verweigerte. Zudem Anderen wurden Händler
unter Druck gesetzt, DR-DOS nicht weiter mit Windows zu 'bundeln',
da sie sonst kein Windows mehr bekämen (s.a. 'Die
Microsoft Akte', Wendy Goldmann-Rohm). Trotzdem erschienen noch
weitere Nachfolger dieses Betriebssystems in Form von DR DOS
5.0 und 6.0. Varianten der DR-DOS Familie waren DR PalmDOS (1993),
das Mehrbenutzer-System Multiuser-DOS sowie die zusätzlich
noch multitaskingfähigen DR Concurrent DOS/386 und DR Concurrent
DOS/XM.
 
1991 verkaufte Gary Kildall Digital Research an
Novell. 1994 stirbt er im Alter von nur 52 Jahren - vermutlich
an den Folgen eines Herzinfarkts. Doch auch hier gibt es mehrere
Versionen der Geschichte. Er war ein genialer Programmierer,
ein großer Pionier und bis zu seinem Tod ein Visionär
gewesen, aber im Vergleich zu Bill Gates ein lausiger Geschäftsmann.
Unter
'www.archive.org'
findet sich ein Film über das Leben von Gary Kildall. Suchen
Sie einfach nach dem Begriff 'Gary Kildall'.
Copyright @ 2006 Wolfgang
Kainz-Huber
Der Autor hat zwar im Rahmen seiner Möglichkeiten
sorgfältig recherchiert, kann aber keine Verantwortung für
die Richtigkeit der Angaben übernehmen.
Quellen: Die Microsoft Story, Daniel
Ichbiah, ISBN 3-593-34806-3
Die Microsoft Akte, Wendy Goldmann Rohm, ISBN 3-612-26672-1
|