 |
ZSDOS / ZDDOS
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.
Ein ganz besonderer Ersatz des CP/M 2.2 BDOS
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.
 |
Leseprobe des ZSDOS User's Guide als PDF-File (13 Seiten, ca. 40 kB). |
 |
Leseprobe des ZSDOS Programmer's Manual als PDF-File (9 Seiten, ca. 24 kB). |
 |
Wenn Sie sich für die ZSDOS-Handbücher interessieren, genügt eine Mail. |
|
 |