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:

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
     
    = (count)