----------------------------------------------------

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.