Zahlreiche BDOS-Substitute versuch(t)en, die Leistungsfähigkeit des Betriebssystems zu verbessern, aber keinem gelingt das so gravierend wie ZSDOS bzw. ZDDOS. Ganz gleich, ob kommerzielles Produkt oder Public Domain Alternative, kein anderes BDOS bietet so viele Funktionen bei vollständiger Kompatibilität zum Original von Digital Research.

 

Ein ganz besonderer Ersatz des CP/M 2.2 BDOS

Kennen Sie ein BDOS, das die Bugs des Originals von Digital Research ausmerzt, das 10 neue Funktionen beinhaltet, das bis in die letzte Routine optimiert wurde, das Dateien bis zu 32 MB und Laufwerke bis zu 1 GB Größe unterstützt, das die Konfiguration während der Laufzeit gestattet und dabei vollständig kompatibel ist?

Nein? Dann kennen Sie offenbar ZSDOS (Z-System Disk Operating System) noch nicht. Dieses 3,5 kB kleine Stück Software geht auf die Zusammenarbeit von Harold Bower, Cameron Cotrill und Carson Wilson zurück.

 

Die Voraussetzungen

Zum besseren Verständnis sollte bekannt sein, daß sich das Betriebssystem CP/M aus drei Segmenten zusammensetzt. Eines dieser Segmente ist das Basic Disk Operating System (BDOS), welches die Systemresourcen (z. B. Konsole, Diskettenlaufwerke) auf der untersten Ebene verwaltet. Das BDOS weiß nicht (oder muß nicht wissen), welche Art Terminal, Diskcontroller oder Drucker an den Computer angeschlossen ist.

Diese detaillierten Informationen über die Hardware sind in einem anderen Segment untergebracht, dem Basic Input Output System (BIOS). Das BIOS ist an die speziellen hardwaremäßigen Gegebenheiten des Computers angepaßt. Daher kann das BIOS eines Rechnertyps nicht auf einem anderen Rechnertyp eingesetzt werden. Das BIOS erledigt alle hardwarenahen Aufgaben für das BDOS.

Das dritte und letzte Systemsegment ist der Console Command Processor (CCP). Der CCP hat die Aufgabe, Anwendereingaben von der Kommandozeilenebene umzusetzen. Dazu lädt der CCP das erforderliche Programm und startet es. Ebenso wie das BDOS ist der CCP unabhängig von der verwendeten Hardware und arbeitet daher auf allen CP/M Computern.

Durch die strikte Trennung hardwarespezifischer Routinen (BIOS) einerseits von hardwareunabhängigen Routinen (BDOS und CCP) andererseits können die Segmente unabhängig von einander aktualisiert oder ersetzt werden, solange die definierten Schnittstellenstandards eingehalten werden. Aufgrund dessen ist es möglich, anstelle des Original-BDOS ohne weitere Änderungen der Systemsoftware ZSDOS einzusetzen.

 

Die Eigenschaften

Gegenüber dem originalen BDOS von Digital Research wurden in ZSDOS etliche Verbesserungen vorgenommen und ein erweiterter Funktionsumfang geschaffen. Die wichtigste Eigenschaft von ZSDOS offenbart sich bereits in der vollständigen Bezeichnung. "ZSDOS" steht für "Z-System Disk Operating System". Im Gegensatz zum Original-BDOS, das auf i8080-Code basiert, wurde ZSDOS mit Z80-Befehlen vollständig neu programmiert. Dabei wurden aber nicht einfach die Befehlssätze ausgetauscht, sondern jede Routine optimiert.

Im Original-BDOS waren zum Teil gravierende Bugs enthalten, die gleichzeitig ausgemerzt wurden. Außerdem war eine Neustrukturierung notwendig, um Kompatibilität zu ZRDOS zu gewährleisten. Daß nebenbei auch noch Platz für eine Menge neuer Funktionen geschaffen wurde, versteht sich fast von selbst. Während Programme unter einem normalen CP/M 2.2 System nur auf 39 BDOS-Funktionen zugreifen können, sind es unter ZSDOS 49!

Die wichtigsten Neuerungen werden nun beschrieben:

1. Automatisches Einloggen von Disketten

Während CP/M auf eine gewechselte Diskette mit der Fehlermeldung "drive R/O error" leicht allergisch reagiert und anschließend die Operation abbricht, handhabt ZSDOS diesen Fall wesentlich benutzerfreundlicher. Fortan braucht nach dem Wechsel einer Diskette nicht mehr Control-C gedrückt werden - das erledigt ZSDOS im Hintergrund. Wer auf Nummer sicher gehen will, kann diese Funktion aber ausschalten.
2. Erweiterte Fehlerbehandlung

Die Fehlerbehandlung von ZSDOS ist wesentlich flexibler und weniger kryptisch als die des Original-BDOS oder anderer Substitute. Fehlermeldungen werden in englischer Sprache ausgegeben. Ist der Fehler im Zusammenhang mit einer Datei aufgetreten, so wird deren Name ebenfalls angezeigt. Desweiteren läßt sich die Ausgabe von Fehlermeldungen über eine spezielle Funktion ausschalten (analog CP/M Plus). Entsprechende Fehlercodes werden dann an das aufrufende Programm zurückgegeben. Programmierer werden diese Funktion zu schätzen wissen, denn jetzt haben sie die volle Kontrolle.
3. Unterstützung von Dateiattributen

Unter einem normalen CP/M System beschränken sich die unterstützten Dateiattribute lediglich auf "R/O" (nur lesen) und "SYS" (Systemdatei). ZSDOS kennt und unterscheidet 8 (!) Dateiattribute, von denen 6 direkt unterstützt werden. Dazu zählen z. B. Archiv- und Public-Attribut.
4. Größere Dateien und Laufwerke

Benutzern von Festplatten dürfte eine Einschränkung von CP/M 2.2 besonders schmerzlich im Gedächtnis sein: Die Laufwerksgröße beträgt maximal 8.192 Kilobytes (8 MB). Unter ZSDOS kann ein Laufwerk bis zu 1.048.576 Kilobytes (1 GB) umfassen. Eine Datei kann bis zu 262.144 logische Records = 32.768 Kilobytes (32 MB) groß sein. Diese Werte erscheinen für CP/M zwar leicht überdimensioniert, aber es ist doch beruhigend, ein paar Leistungsreserven zu haben.
5. Schnelles Wiedereinloggen "fester" Disketten

ZSDOS unterscheidet, ob das Medium (also der Datenträger = die Diskette) eines Laufwerkes gewechselt werden kann oder nicht. Typische Vertreter letztgenannter Art sind RAM-Floppies und Festplatten.
Sobald in der Kommandozeile vom originalen CP/M ein Control-C eingegeben wurde, loggte dieses alle Laufwerke aus. Beim nächsten Zugriff mußte erst das gesamte Verzeichnis neu eingelesen werden. Dies kostet natürlich (bei vielen Einträgen) Zeit.
Unter ZSDOS werden nur die Laufwerke erneut eingelesen, die nicht als "fest" definiert wurden. Denn schließlich kann sich nur dort der Datenträger geändert haben. Dadurch wird insbesondere beim Zugriff auf Festplatten(partitionen) Zeit gespart.
6. Unterstützung von BackGrounder II

Auch wenn diese Eigenschaft für die meisten Anwender zunächst eher uninteressant ist, kann sie sich in nicht allzu ferner Zukunft schon auszahlen. ZSDOS ist eines der wenigen BDOS-Substitute, die die Benutzung der Betriebssystemerweiterung BackGrounder II (kurz BGii) gestatten.
Wer BGii nicht kennt, dem sei gesagt, daß es sich hierbei um eine der komfortabelsten Erweiterungen für CP/M handelt. BGii beflügelt die "alten CP/M-Kisten" zu ungeahnten Höchstleistungen: Mehrere Programme gleichzeitig benutzen, Copy & Paste und Printspooling sind nur die wichtigsten Eigenschaften.
7. Unterstützung des Wheel Bytes

Noch so 'n Ding. Benutzer eines ZCPR-Systems können mit dem Begriff "Wheel Byte" etwas anfangen. Für alle anderen sei nur gesagt: Unter einer ZCPR-Umgebung stehen umfangreiche Sicherheitsmechanismen zur Verfügung, die größtenteils über das Wheel Byte gesteuert werden. Übrigens ist ZCPR auch eine Betriebssystemerweiterung - und eine sehr gute dazu.
8. Verschiedene Zugriffsarten

Unter ZSDOS gibt es neben der von CP/M bekannten Zugriffsweise noch vier weitere Möglichkeiten, auf Dateien zuzugreifen: Pfad-Verzeichniszugriff, Pfad-Dateizugriff, öffentlicher Zugriff und kombinierter Zugriff. Diese Zugriffsmöglichkeiten unterscheiden sich grundlegend von denen aller bisherigen BDOS-Substitute (einschließlich ZRDOS).
Mit Hilfe des Konfigurationsprogrammes ist es möglich, einen Verzeichnispfad mit maximal 3 Elementen (z. B. A15:, B0: und C10:) zu definieren. Beim Pfad-Verzeichniszugriff werden alle Dateien in den Verzeichnissen entlang des Pfades unabhängig vom aktuell eingeloggten gefunden. Dies betrifft nicht nur ausführbare COM-Dateien von der Kommandozeilenebene, sondern alle Dateizugriffe, selbst innerhalb von Programmen. Dadurch können Programme wie WordStar ihre Overlays in den Pfad-Verzeichnissen finden, obwohl ein anderes Verzeichnis (z. B. A3:) eingeloggt ist.
Ähnlich funktioniert der Pfad-Dateizugriff. Allerdings werden hierbei nur die Dateien in den Verzeichnissen entlang des Pfades gefunden, deren Attribut "SYS" (Systemdatei) gesetzt ist. Dadurch ist es möglich, den Zugriff auf bestimmte Dateien zu beschränken.
Einen vollkommen anderen Ansatz hat der öffentliche Zugriff. Über ein spezielles Attribut (f2) wird eine Datei öffentlich gemacht. Anschließend kann auf diese Datei(en) von allen Userbereichen derselben Diskette zugegriffen werden. Der öffentliche Zugriff ist dadurch nicht an die (abstrakte) Kombination aus Laufwerk und Userbereich gebunden - wie die Pfadzugriffe -, sondern an das Medium (also die Diskette) selbst.
Zu guter letzt gestattet ZSDOS auch die Kombination des Pfad- und des öffentlichen Zugriffs. Es werden dann nicht nur die Dateien in den Verzeichnissen entlang des Pfades gefunden, sondern auch alle öffentlichen Dateien der Laufwerke, die im Pfad definiert sind. Durch geschickte Kombination der Pfadelemente und der öffentlichen Dateien, kann man sein System so einrichten, daß alle Programme aus jedem Verzeichnis gestartet werden kann. Allerdings ist der kombinierte Zugriff erst zu empfehlen, wenn man bereits mit den Zugriffsarten vertraut ist.
9. Unterstützung von Datumsstempeln

Mit ZSDOS wird jedoch ein zweiter BDOS-Ersatz namens ZDDOS ausgeliefert. "ZDDOS" steht für "Z-DateStamper DOS". Es beinhaltet bis auf den Uhrentreiber alle Rou-tinen, die für die Speicherung von Zeit- und Datumsinformationen benötigt werden. Die verwendete Methode ist kompatibel zu Plu*Perfect's DateStamper, die von vielen Utilities unterstützt wird. Zu jeder Datei werden drei Informationen gespeichert: Zeitpunkt der Erstellung, der letzten Änderung und des letzten Zugriffs.
Zwar bietet ZSDOS diese Funktionen nicht intern, aber sie können über externe Routinen (z. B. innerhalb oder oberhalb des BIOS) nachgebildet werden. Dann besteht sogar die Möglichkeit, zwischen zwei Stempelmethoden zu wählen. Zum einen steht die eben beschriebene Methode zur Verfügung und zum anderen eine zu P2DOS und CP/M Plus kompatible. Nachteilig ist dabei nur, daß mehr Speicher für das System benötigt wird, da die Routinen im Gegensatz zu ZDDOS nicht Bestandteil des BDOS-Segmentes sind.
10. Sonstige Erweiterungen

Eine hervorragende Eigenschaft von ZSDOS wurde bereits beiläufig erwähnt. Im Gegensatz zum originalen BDOS und allen Substituten ermöglicht ZSDOS die Einstellung vieler Parameter während der Laufzeit ("on the fly") mittels eines speziellen Programms. Die Eigenschaften des Systems können so jederzeit beeinflußt werden und z. B. über Kommandoscripts vor Ausführung eines Progrmmes angepaßt werden.
ZSDOS unterstützt alle BDOS-Funktionen von ZRDOS 1.7, was besonders für die Benutzer von NZ-COM von Interesse sein dürfte. Auch die Möglichkeit des Wiedereintritts besteht unter ZSDOS. (Das bedeutet, daß innerhalb einer BDOS-Funktion eine weitere BDOS-Funktion benutzt werden kann. Auf diese Weise können z. B. Druckausgaben in eine Datei umgelenkt werden.)

 

Viele kleinere Verbesserungen und Erweiterungen müssen hier ungenannt bleiben. Sie machen nicht nur dem Anwender, sondern auch dem Programmierer das Leben leichter. Allerdings würde die vollständige Beschreibung den Rahmen sprengen...

 

Die Installation

Liegt ein "sauberes" CP/M-System und eine vollständige Systemsoftware vor, dann sollte die Installation von ZSDOS keine Schwierigkeiten bereiten. Das mitgelieferte Installationsprogramm kann sowohl ein relokatibles System (in MOVCPM.COM enthalten) als auch eine absolute Systemdatei be- bzw. überarbeiten. Nachdem optional die Treiber für Uhr und Datumsstempel installiert wurden, braucht das neue System nur noch in die Systemspuren geschrieben zu werden - fertig.

Während des Installationsprozesses können diverse Eigenschaften des Systems voreingestellt werden, so daß sie nach dem Start sofort wirksam sind. Später kann man sie aber, wie bereits erwähnt, jederzeit ändern!

Ein mittelschweres Problem haben alle Anwender, deren System nicht hundertprozentig den Festlegungen von Digital Research entsprechen. So war es z. B. auf dem KC 85 der Fall. Wenn man dann kein Assemblercrack ist oder kennt, ist man so gut wie verloren. Der Betriebssystem- Koordinator unseres Clubs ist zum Glück ein begnadeter Assemblerprogrammierer. Er schrieb für uns ein komplett neues BIOS (welches auch gleich das GIDE Interface unterstützt) und einen neuen CCP.

 

Die Handbücher

Weil ZSDOS in den USA entstanden ist, wurden die Handbücher selbstverständlich in englischer Sprache verfaßt. Inzwischen liegen aber die deutschen Übersetzungen von RedNil Design vor, so daß den interessierten Leser jetzt 130 Seiten des "User's Guide" in deutscher Sprache erwarten. Es ist in vier Abschnitte unterteilt:

Einleitung

Vermittelt einen groben Überblick von ZSDOS und dessen Leistungsfähigkeit. Die Unterschiede zwischen CP/M 2.2, ZRDOS und ZSDOS werden gezeigt.
Merkmale

Alle Änderungen bzw. Erweiterungen von ZSDOS werden erläutert. Besonderes Augenmerk wurde hierbei auf die neuen Zugriffsarten gerichtet.
Installation

Die Schritt-für-Schritt Anleitung erleichtert die Installation von ZSDOS. Darüberhinaus wird auch die Einbindung der Stempelfunktionen gezeigt.
Utilities

Mit ZSDOS werden elf (!) Utilities ausgeliefert. Ihre Handhabung wird in diesem Abschnitt gezeigt.

 

Einige Anhänge mit Übersichten, ein Glossar sowie eine Bibliographie runden das Handbuch ab. Der hohe Informationsgehalt macht den "User's Guide" für den Anfänger zum unentbehrlichen Hilfsmittel und für Fortgeschrittene zum ständigen Begleiter.

Für Programmierer gibt es zusätzlich das "Programmer's Manual", ebenfalls in der deutschen Übersetzung von RedNil Design, das es immerhin auf 85 Seiten bringt. Es empfiehlt sich dank der ausführlichen Beschreibung aller Funktionen und zahlreicher Beispiele in Z80-Assembler nicht nur für erfahrene Programmierer, sondern auch für Einsteiger.

Weitere Informationen zu ZSDOS und einer Anpassung für den KC 85 sowie zum Z-System sind auf der Homepage des KC-Clubs zu finden.

Beide Handbücher befinden sich im Downloadbereich.