----------------------------------------------------
Kapitel
8
Das
Betriebssystem
----------------------------------------------------
EINFÜHRUNG
IN DAS BETRIEBSSYSTEM
Dieses
Kapitel ist eine einfache Einführung in das Betriebssystem (OS=Operating System)
des ATARI Computer Systems (bei der XL-Serie lesen Sie bitte Anhang XI). Es enthält
außerdem eine kurze Beschreibung einzelner OS-Teile. Diese werden in den folgenden
Abschnitten beschrieben:
Input/Output-Untersystem
Vektoren der System-Routinen
Interrupt-Handler
Der Monitor
Die Systemvariablen
Die System-Timer
Die Fließkomma-Arithmetik
Das
OS gestattet dem Programmierer den Zugriff auf die gesamte Hardware des Computers.
So können die I/O-Funktionen der Hardware durch das I/O-Untersystem angesprochen
werden. Dieses I/O-Untersystem besteht aus einer Reihe von System-Routinen, welche
die für die Ein- und Ausgabe zuständige Hardware ansprechen.
Die
System-Vektoren sind im gewissen Sinn die Knotenpunkte, mit denen das gesamte System
"zusammengehalten" wird. Das OS benutzt diese Vektoren, um von einem "System-Programm"
(z.B. BASIC, DUP oder STAR RAIDERS™) zu einem anderen zu wechseln. Jede System-Routine
kann durch Springen zum zugehörigen Vektor aufgerufen werden. Dieses Springen
geschieht zum größten Teil in regelmäßigen Abständen,
um z.B. Timer zu setzen, die I/0-Routinen aufzurufen oder die Kontrolle an verschiedene
System-Programme zu übergeben.
Die
System-Routinen können auf zwei verschiedene Arten angesprochen werden. Die
ROM-Vektoren sind Speicherstellen, welche JMP-Instruktionen zu Systemroutinen enthalten.
Diese können nicht geändert werden. Die RAM-Vektoren sind Speicherstellen,
die veränderliche Adressen für Systemroutinen enthalten. Die Speicherstellen
für diese Routinen bleiben auch bei zukünftigen Versionen des Betriebssystems
die gleichen.
Der
Computer erzeugt aus verschiedenen Gründen Interrupts. Die am häufigsten
auftretenden sind: Tastatur-, Break-, Vertical-Blank- und Serieller Bus-Interrrupt.
Der
Monitor des OS ist eine System-Routine, die zum Initialisieren des Computers bei
dessen Einschalten oder bei Drücken der SYSTEM-RESET-Taste angesprochen wird.
Der Monitor initialisiert das I/O-Untersystem, legt die Vektoren fest und wählt
den Arbeitszustand, nachdem die Vorbereitung abgeschlossen wurde (BLACKBOARD-Modus,
BOOT-Programm usw.).
Das
OS nutzt weiterhin eine Vielzahl an Systemvariablen. Diese besteht aus verschiedenen
System-Flags, I/0-Puffern und Bildschirm/Graphik-Registern. Der größte
Teil dieser Variablen wird dabei vom I/O-Untersystem benutzt, aber sie enthalten
auch Speicherstellen, die von anderen Teilen des OS benutzt werden. Der Programmierer
ist durch Zugriff auf diese Systemvariablen in der Lage, sein Programm leistungsfähiger
zu gestalten.
Es
gibt zwar zwei Arten von Timern: System-Timer und Hardware-Timer. Die System-Timer
werden von bestimmten Programmen als Software-Timer für verschiedene Zwecke
benutzt. Die Hardware-Timer werden zur zeitlichen Festlegung sogenannter "Realzeit"-Aktionen,
wie z.B. das Zeichnen von Scan-Lines, verwendet.
Die
Fließkomma-Arithmetik besteht aus einer Reihe von mathematischen Routinen,
die eine sog. "binär codierte Dezimal-Arithmetik" (BCD) benutzen.
Es gibt sowohl Routinen für standardmäßige mathematische Funktionen
(+, -, *, /), wie auch für die Umwandlung von ATASCII nach BCD bzw. umgekehrt.
Im 8. Kapitel des OS-Benutzer-Manuals findet sich eine Beschreibung der Fließkomma-Arithmetik
sowie deren Benutzung. In Anhang 5 dieses Buches ist ein Beispiel für die Benutzung
dieser Routinen.