zurück : weiter =
2 *** QDOS im Überblick
2.1 ** System
Das Betriebssystem des Quantum Leap (dem "Quantensprung"
bei der Entwicklung der kleinen Computer) heißt QDOS, das Q(L) Disc
Operating System. Welcher Name auf den Ursprung hinweist: Basic, wie alle
anderen Programmiersysteme, mußte vor den Programmen und gleichrangig
mit ihnen erst in den Speicher geladen werden. "Clean Computer" heißen
solche Geräte. "Clean" ist einfach "nichts drin".
Im jetzt gültigen Sinne ist Qdos das Betriebssystem.
Für einen einzelnen Benutzer, tauglich für Multitask-Betrieb
und ausgestattet mit einem beim Start eingerichteten Job, dem Basic-Interpreter
mit allem nötigen Zubehör. Was bedeutet, daß der Computer
nach dem Kaltstart (z.B. Reset) bereits voll einsetzbar ist. Mehrere selbständige
Programme können als Jobs unabhängig voneinander betrieben werden,
verschachtelt und anscheinend zur selben Zeit. Gegenseitige Beeinflussung
ist stets möglich und die Konsoleingabe ist für alle im Gerät
ablaufenden Programme zuständig. Dies unterscheidet Qdos von Mehrbenutzer-Systemen,
wo dergleichen strikt getrennt wird.
Die umfangreichen Steueraufgaben werden vom System
selbst übernommen, durch verschiedene Hilfssysteme unterstützt.
Diese führen im Hintergrund eine Art Eigenleben neben den eigentlichen
Programmen. Sie benutzen selbständig den Speicher, großenteils
an wechselnden Adressen.
So kann es hier bis auf einige wenige Stellen
nicht die geheimnisvollen PEEKs und POKEs anderer Geräte geben. Das
Betriebssystem erlaubt auf anderen Wegen eher sogar weit tiefergehende
Eingriffe. Es ist in den wesentlichen Teilen erweiterbar und dafür
entsprechend dokumentiert. Jegliche Einflußnahme findet in geordneten,
erlaubten und vielfach zu diesem Zweck besonders unterstützten Bahnen
statt, mit seiner Hilfe, nicht dagegen. Auch 'patches', die ganze Bücherregale
füllen, sind kaum gefragt. Vergleichsweise halten sich die Fehler
bei Qdos und Basic in bescheidenen und vor allem weitgehend harmlosen Grenzen.
Für diesen ersten Überblick soll es
nicht stören, wenn nun einige neue Begriffe vorläufig ohne nähere
Erklärung bleiben. Sie sind der Vollständigkeit halber angegeben
und werden noch gebührend Berücksichtigung finden.
Qdos kann als Sammlung folgender Dinge angesehen
werden:
-
Utilities, QDOS-Traps:
Ein Satz nützlicher Teilprogramme für
Ein- und Ausgabe, Speicherzuweisung etc.
-
Scheduler:
Verwaltung von Listen für den Betriebszustand,
Interruptbehandlung, Zuweisung von Rechnerzeit an einzelne Jobs, dynamische
Speicherverwaltung, etc.
-
Kaltstart:
Einrichtung eines definierten Zustandes
beim Start des Computers, einschließlich dem Einfügen und Vorbereiten
zusätzlicher Hard- und Software in das Betriebssystem.
Das Qdos selbst läuft nicht im eigentlichen
Sinne als Programm ab. Seine Teile stehen erst einmal nur bereit und können
durch die Programme genutzt werden. Es gibt auch nicht das Qdos-Hauptprogramm
(main program), das für den laufenden Betrieb des Computers zuständig
ist. Anders als die Befehls-Interpreter traditioneller Betriebssysteme
ist der Basic-Interpreter schlicht ein Programm, das als Job im QL arbeitet
und die Einrichtungen des Qdos nutzt. Daneben macht es noch ein paar besondere
Einrichtungen der Systemverwaltung zugänglich, etwa das Formatieren
eines Datenträgers. Es ist durchaus möglich, den Basic-Interpreter
völlig aufzugeben und weiterhin andere Programme mit Qdos zusammen
zu betreiben. oder (mit MINERVA oder SQ) auch mehrere solcher Jobs einzurichten.
2.2 ** Kaltstart - start
up, reset
Kaltstart heißt hier soviel wie Start in jungfräulichem
Zustand. Alles frisch und neu. Das kann nach einer Generalreinigung durch
Einschalten der Spannungsversorgung veranlaßt werden (nach mancher
Fehlern die einzige zuverlässige "Reinigung"), durch die dafür
vorgesehene magische Taste an der rechten Seite des QL, oder auch durch
Aufruf des zuständigen Programmteils im Betriebssystem.
Folgendes geschieht dabei:
RAM-Test bis zur höchsten verfügbaren Speicherstelle
eines zusammenhängenden Adressenbereichs. Bei einem Fehler bleibt
der QL stecken. Einrichten der Systemvariablen, der Tabellen zur Verwaltung
und des SuperBASIC-Bereichs.
Prüfen der Adresse $C000 auf Vorhandensein eines
ROM zur Systemerweiterung. Im JS-ROM werden die weiteren gültigen
ROM-Adressen ab $C0000 wegen eines Fehlers nicht untersucht. Es gelten
aber auch dort weitere 16 Bereiche zu je 16K Bytes. Auch die Adressen $10000
und $14000 sind nutzbar, werden aber nicht abgesucht.
Wenn nach dem ROM-Test Qdos die Kontrolle erhält,
wird ein Device 'BOOT' gesucht, und bei Erfolg dessen Inhalt als Basic-Programm
geladen und ausgeführt. Sonst erfolgt Suche eines File 'mdv1_BOOT',
ggf. auch 'flp1_BOOT', welches gleichermaßen behandelt wird. Ist
solch ein File nicht gefunden worden, startet Qdos den Interpreter mit
leerem Programmspeicher.
2.3 ** Programme
Mit vier Arten von Code-Programmen kann der QL betrieben
werden, jede davon überwiegend einer besonderen Verwendung zugedacht.
Es sind dies JOBs, residente PROCEDURen und FUNCTIONen
zum Basic, TASKs und das BETRIEBSSYSTEM oder Erweiterungen
dazu. Somit gibt es auch große Unterschiede im Aufbau und im Zusammenspiel
mit Qdos. Für all das sind in Organisation wie auch Anordnung genau
dokumentierte Strukturen unerläßlich. Verfahrensweisen sind
festgelegt worden, bei deren Einhalten Betriebssystem, verwaltende Software
und zugehörige Hardware mit sicher vorherbestimmbarem Ergebnis zuverlässig
zu betreiben sind. - So immerhin stellt man sich das vor, und in fast allen
Bereichen trifft es auch zu. Die Ausnahmen gilt es zu beachten, dann sind
im auch die Fehler dieses in der Gesamtheit guten Systems zu umgehen und
stören nicht mehr. Nur bekannt müssen sie sein, wozu die Sammlung
von Rom-Fehlern im Abschnitt 7 einige Hinweise geben soll.
2.4 ** Speicher
Der Speicher ist Arbeitsbereich und Arbeitsmittel
zugleich. Im QL beginnt nach einer Vectoren-Tabelle für die Behandlung
von Ausnahmeprozessen bei niedrigen Adessen der Programmspeicher mit dem
Betriebssystem. Es folgt ein Bereich, der für fest zu installierende
Erweiterungen ab $C000 freigehalten ist. Danach ein Teil schwer nutzbaren
Speichers ($10000 bis $17FFF, etwa für Rom-Erweiterungen bei MINERVA).
Von $18000 bis 180063 finden sich ein paar Hardware-Register, dann ein
wegen mangelhafter Decodierung nicht frei zu nutzender Bereich. Der Bildschirmspeicher
mit 32K Bytes schließt sich üblicherweise bei $20000 an. Ab
Adresse $38000 gibt es keine Einschränkung durch die Hardware mehr
und der Speicher kann frei genutzt werden. Dies geschieht durch das Betriebssystem
und die in weiten Teilen eigenständig operierenden Hilfssysteme (IOSS,
FSS, Scheduler).
2.5 ** Zuweisung eigener
Hilfsmitel - resource allocation
Die Zuweisung der Hilfsmittel betrifft alle Geräte,
die durch Jobs adressiert werden können. Bildschirm, Microdrives,
Tastatur, Tongenerator und serieller Drucker, all das sind Hilfsmittel
in diesem Sinne. Ganz klar ist, daß auf ein bestimmtes Gerät,
von Ausnahmen einmal abgesehen, immer nur ein Job gerade zugreifen darf.
Das ist der, der "Priorität" erhielt, alle anderen Jobs werden in
eine Warteschlange eingereiht. Wenn deren womöglich begrenzte Wartezeit
noch nicht abgelaufen ist, erhalten sie ihrer Prioritätszahl entsprechend
der Reihe nach Anteil daran. Die Organisation hängt einzig von der
richtigen Zuweisung der Hilfsmittel ab.
Geregelt wird dies mittels der Manager Traps
(1) und der Traps zur I/O-Zuweisung (2).
2.6 ** Ein- und Ausgabe -
i/o
Umfangreiche Hilfsmittel stehen für den Datenaustausch
zwischen Programmen und den verschieden Geräten zur Verfügung.
Neben Standard-"Handlern" (das sind die ein Gerät verwaltenden Programme)
ist auch deren Einrichtung als zusätzliche Bestandteile des Betriebssystems
möglich. Sind diese den Konventionen gemäß programmiert,
und hält man sich bei den rufenden Programmen an die Regeln des Qdos,
wird es dabei im allgemeinen keine Kollisionen auf den Datenpfaden der
Geräte geben. Dazu sind die vielfältigen Aufrufe der Trap #3
eingerichtet. Die Traps zur Bildschirmbedienung sind ein Beispiel, alle
unter der Bezeichnung SD... (für screen device ..). Über Vectoren
an den Adressen $00C0 bis $012B (MINERVA bis $015E) stehen besondere Hilfsprogramme
zur Verfügung. Damit läßt sich sicherstellen, daß
es keine Schwierigkeiten mit Betriebssystem oder Job-Verwaltung geben wird.
2.7 ** Hardware
Es gibt ein paar Hardware-Register, über
die die gesamte Steuerung der Peripheriegeräte abläuft. Dort
sind diese zum Teil auch direkt programmierbar.
Der Coprocessor, IPC, kann mit der Trap
MT.IPCOM (3/17) und einem zugeordneten Befehlssatz gesteuert werden.
Die Trap-Aufrufe MT.RCLCK, MT.SCLCK und MT.ACLCK
(3/19, 20 ,21) bedienen die Uhr (Register $18000 mit 4 Bytes).
Dann stehen für die Datensicherung die beiden
MDV zur Verfügung. Auch sie werden über die Hardware-Register
gesteuert. Sehr viel einfacher, dazu sicher und umfassend, sind die dafür
vorgesehenen Trap-Aufrufe. Mit diesen steht in der standardisierten Form
der I/O-Operationen das Nötige bereit.
Zu den wichtigen und weit verbreiteten Erweiterungen
gehören Hard- und Floppy-Disc, deren umfangreiche Hardware und recht
aufwendige Software in derselben Weise verwaltet wierden. Darum lassen
sie sich auf der Anwendungsseite schließlich ebenso einfach bedienen,
wie der Bildschirm oder ein serieller Drucker.
oben :
zurück :
weiter :
inhalt
=