Betriebssystem MicroDOS

von Jörg Linder

Die D004-Erweiterung erschließt dem KC-System die Diskette als externen Speicher. Dabei kann das Betriebssystem CAOS des Grundgerätes um Zugriffsmöglichkeiten auf Diskette erweitert werden oder ein anderes Betriebssystem gestartet werden, das die Diskettenarbeit direkt unterstützt - MicroDOS.

Das Betriebssystem MicroDOS muß vom CAOS aus gestartet werden und realisiert die sogenannte PC-Betriebsart des KC-Floppy-Systems. In dieser Betriebsart wird das KC-System softwarekompatibel zu den Betriebssystemen SCP und CP/M 2.2 anderer Computer. So wird Standardsoftware für Büro- und Personalcomputer auf dem KC-System lauffähig. Die Vorzüge des Grundgerätes, wie Farbtüchtigkeit, Grafikfähigkeit und Tonausgabemöglichkeit sowie die Vorzüge des modularen KC-Konzeptes sind unter MicroDOS weiterhin nutzbar.

Unter MicroDOS ist die Bedienoberfläche weitestgehend den Personalcomputern angepaßt. Durch das neue Bildschirmformat mit 80 Zeichen pro Bildschirmzeile und 24 Zeilen pro Bildschirmseite sowie eine veränderte Tastaturbelegung wird die Bedienung von SCP-Standardsoftware ermöglicht. Die darstellbaren Zeichen sind um die Zeichenbilder des amerikanischen Zeichensatzes erweitert. Für die Tastatur gibt es einen Schreibmaschinenmodus. Man kann unter MicroDOS auch das CAOS-Bildschirmformat nutzen, und vieles mehr ist möglich.

Bestandteile des Betriebssystems

Das Betriebssystem MicroDOS ist ein Programmpaket. Es besteht aus dem eigentlichen Kern und einer Reihe einzelner Hilfsprogramme. Der Betriebssystemkern besteht, wie jedes CP/M System, aus BIOS, BDOS und CCP. Allerdings sind sie die Segmente zu einer Einheit verschmolzen und nicht wie bei einem "richtigen" CP/M klar voneinander abgegrenzt. So liegt zum Beispiel der Beginn des BDOS unterhalb des CCP, um ihn vor Überschreiben zu schützen.

BIOS
Das Basic Input/Output System kommuniziert mit den Peripheriegeräten, die an das KC-Floppy-System angeschlossen werden können. Dazu gehören neben verschiedenen Druckertypen auch der Floppy-Controller, die Tastatur und der Bildschirm. Über die BIOS-Kanäle für Lochbandleser (RDR) und Lochbandstanzer (PUN) wird bei KC-Floppy-System die Computer-Computer-Kopplung realisiert.

BDOS
Das Basic Disc Operating System ist das Basissystem zur Diskettenverwaltung. Es verwaltet die Dateien auf den Disketten, führt Datenübertragungen von und zu den Disketten aus und überprüft die Richtigkeit der Datenübertragung. Das BDOS realisiert auch die Zuordnung zwischen physischen Laufwerken und den verschiedenen Diskettenformaten, das heißt es verwaltet die logischen Laufwerke A: bis H:.

CCP
Der Console Command Processor dient der Ausführung der vom Bediener an der Konsole eingegebenen MicroDOS-Kommandos. Der Begriff "Konsole" bezeichnet sowohl die Tastatur als auch den Bildschirm. Eingaben von der Konsole sind Tastatureingaben. Ausgaben an die Konsole sind für den Benutzer Bildschirmausgaben.

Der CCP kommuniziert über die Konsole direkt mit dem Bediener, nimmt dessen Kommandos entgegen und gibt sie zur Kommandoausführung an das BDOS weiter. Der CCP kontrolliert die Kommandobearbeitung und gibt dem Bediener Meldung über die korrekte Ausführung und Beendigung des Kommandos oder über eventuell aufgetretene Fehler. In ihm sind alle residenten Kommandos enthalten.

Aufteilung des Arbeitsspeichers

Die beschriebenen Segmente des Betriebssystems MicroDOS werden mit dem Urladeprogramm von der Diskette in den Arbeitsspeicher des zweiten Prozessorsystems im Floppy Disk Basis geladen. Der noch freibleibende Bereich des Arbeitsspeichers wird Transient Program Area (kurz TPA) genannt.

Der TPA ist der Speicherbereich, in den alle Programme von der Diskette geladen werden. Die Anfangsadresse (0100H) dieses Speicherbereiches ist gleichzeitig die Startadresse für die Programme. Genauere Angaben zur Speicheraufteilung sind im Handbuch für den Programmierer zu finden.

Der TPA nimmt im Arbeitsspeicher den größten Raum ein. Die Systemausschrift

50 K MicroDOS Vers. 2.6

nach dem Kaltstart gibt die Länge des TPA an. Sie ist beim KC-Floppy-System ca. 50 KByte groß.

Systemkonfiguration

Beim Kaltstart von MicroDOS wird aus den im System vorhandenen RAM-Modulen und den 16 KByte Speicherblöcken des KC 85/4, die hinter dem IRM gestapelt sind, eine RAM-Floppy organisiert. Sie wird als Laufwerk A: im System verwaltet.

Der Kanal 1 des ersten gefundenen V.24-Moduls (M003), in beliebigem Modulschacht steckend, wird zur Zeichenausgabe mit 1200 Baud 8N1, Protokollart DTR initialisiert. Er dient vorzugsweise zur Druckausgabe. Der Kanal 2 des Moduls wird zur Computer-Computer-Kopplung für das Senden und Empfangen mit denselben Parametern initialisiert.

Mittels MSYSG.COM, dem Programm zur Systemanpassung und -generierung, können jedoch andere Drucker- und Koppel-Treiber installiert werden. Es ermöglicht außerdem die Konfiguration der logischen Laufwerke.

Während im Prozessorsystem des D004 das Betriebssystem MicroDOS läuft, arbeitet die Zentrale AbfrageSchleife im Grundgerät und stellt die Funktionen der Konsole - Tastatur und Bildschirmansteuerung - zur Verfügung. Darüberhinaus ermöglicht sie die Nutzung der speziellen Fähigkeiten des Grundgerätes - farbige Vollgrafik, Tonausgabe - über ESC-Sequenzen.

Inzwischen wurde die zentrale Abfrageschleife mehrfach und vor allem entscheidend verbessert. Mario Leubner hat mit ZAS sowohl Programmierern als auch Anwendern völlig neue Möglichkeiten erschlossen. So existiert mittlerweile eine Emulation für Televideo-Terminals, die das Angebot nutzbarer Software nochmals erweitert.

Besonderheiten von MicroDOS

Wie bereits mehrfach angedeutet, verfügt MicroDOS über einige Besonderheiten, wodurch es sich von "normalen" CP/M Systemen unterscheidet. Zum Teil leiten sich diese Besonderheiten aus der besonderen Hardware des KC-Systems ab. Dazu zählen unter anderem:

  • RAM-Floppy
    Sie wird aus allen verfügbaren RAM-Modulen gebildet und kann mehrere MByte groß sein. Der Laufwerksbuchstabe A: ist dafür reserviert und kann nicht geändert werden. Zwar ist der Zugriff auf die RAM-Floppy sehr schnell, allerdings gehen alle darauf befindlichen Daten beim Ausschalten verloren.

  • Systemlaufwerk
    Vom Laufwerk B: wird das System gebootet, es ist ebenfalls das standardmäßige Systemlaufwerk. Die Zuordnung des ersten physischen Diskettenlaufwerkes zum logischen Laufwerk B: läßt sich nicht ändern.

  • Peripheriezugriffe
    Auf alle peripheren Einheiten, mit Ausnahme der Diskettenlaufwerke, kann das D004 Prozessorsystem nur über Treiber im Grundgerät zugreifen. Ursache dafür ist die Tatsache, daß alle Module sowie Tastatur und Bildschirm vom Grundgerät verwaltet werden. Dies hat zum einen den Vorteil, daß für die Treiber kein Speicherplatz im D004 benötigt wird. Zum anderen hat es aber den Nachteil, daß das D004 nur über den Koppel-RAM mit den Treibern kommunizieren kann. Insbesondere zeitkritische Aufgaben im Duplex-Betrieb (z. B. Modembetrieb) sind dadurch nur schwer zu realisieren.

Andere Besonderheiten liegen in der offenbar nur halbherzigen Anpassung des MicroDOS an die Gegebenheiten des KC-Systems. So wurde mehrfach gegen CP/M Konventionen verstoßen, wodurch das System nicht 100 %ig kompatibel ist:

  • Versionsnummer
    Eine Abweichung von CP/M wird bereits beim Systemstart offensichtlich: die Versionsnummer 2.6, die es bei CP/M nie gab. Diese Versionsnummer wird auch gegenüber Anwendungsprogrammen bei Aufruf der entsprechenden BDOS-Funktion gemeldet, weshalb einige strikt den Dienst verweigern. CP/M wurde in den Versionen 1.4, 2.2 und 3.0 (auch als CP/M Plus bekannt) veröffentlicht.

  • Betriebssystem-Segmente
    Oben wurde schon angedeutet, daß die Segmente BIOS, BDOS und CCP eines CP/M Systems klar voneinander abgegrenzt sind. Dies betrifft sowohl ihre Funktionen als auch die Anordnung im Arbeitsspeicher. Dahinter steckt der Gedanke, ein Segment durch eine leistungsfähigere Variante austauschen zu können, ohne daß die anderen Segmente davon berührt würden. Die Verstrickung der Segmente macht eine Erweiterung des Systems wie z. B. um eine Festplatte nahezu unmöglich.

  • Systembestandteile und TPA-Größe
    Neben den bereits erwähnten Segmenten enthält das Betriebssystem einige Bestandteile, die ebenfalls wertvollen Speicher belegen, deren Funktion mitunter fragwürdig ist:

    • CTC-interruptgesteuerte Uhr (keine Echtzeituhr!). Für diese von fast keinem Anwender genutzte Uhr wurde immens Speicher verschwendet.
    • System Control Block (SCB). Eigentlich ein Element von CP/M 3.0, dessen Funktion sehr fragwürdig ist, da er weder vom Betriebssystem selbst noch von den mitgelieferten Hilfsprogrammen genutzt wird.
    • Erweitertes BDOS. Das im MicroDOS enthaltene BDOS stellt Funktionen zur Verfügung, die über den Leistungsumfang von CP/M 2.2 hinausgehen, jedoch den von CP/M 3.0 nicht im geringsten erreichen. Abgesehen von wenigen Ausnahmen benötigt die meisten dieser zusätzlichen Funktionen sowieso kein Programmierer.

      All diese unnötigen Erweiterungen schmälern den TPA zusammen mit dem vor Überschreiben geschützten CCP auf ein gerade noch erträgliches Minimum von ca. 50 KByte. Daß es auch anders geht, beweist das neue Betriebssystem MLDOS!

  • Unterstützte Laufwerke
    Ein CP/M System erlaubt die Installation von bis zu 16 logischen Laufwerken mit den Buchstaben von A: bis P:. Nicht so MicroDOS, hier sind lediglich 8 logische Laufwerke (A: bis H:) möglich.