Fehler
  • Table './sgruhn_1/jos_vvisitcounter' is marked as crashed and should be repaired SQL=SELECT count( * ) AS records, MAX( id ) AS max FROM jos_vvisitcounter
  • Table './sgruhn_1/jos_vvisitcounter' is marked as crashed and should be repaired SQL=SELECT COUNT(*) FROM jos_vvisitcounter WHERE (YEAR(NOW())=YEAR(FROM_UNIXTIME(tm))) AND (MONTH(NOW())=MONTH(FROM_UNIXTIME(tm)))

Betriebssystem CAOS

von Jörg Linder

Nach dem Einschalten des Computers wird das Betriebssystem KC-CAOS (Cassette Aided Operating System) aus dem internen ROM gestartet und anschließend werden in einem textorientierten Menü eine Reihe sofort verfügbarer Kommandos dargestellt. Dieses Menü kann durch Programme sehr einfach erweitert werden. Außerdem enthält das CAOS eine Vielzahl von Unterprogrammroutinen, auf die Programme über standardisierte Schnittstellen zugreifen können.

Das Betriebssystem KC-CAOS ist, um vielen Anwendungsbereichen gerecht zu werden, sehr flexibel ausgelegt. Es ermöglicht dem Anwender:

  • den Arbeitsspeicher für das Betriebssystem, den Kellerspeicher (STACK) und die Interrupt-Tabellen an beliebige Stellen im RAM anzuordnen
  • leicht eigene Maschinenprogramme durch Menütechnik in das System einzubinden
  • den eigenen Programmen beim Aufruf über Menü bis zu maximal 10 Parameter zu übergeben
  • die Systemressourcen durch eine große Anzahl von Systemunterprogrammen vollständig zu nutzen
  • Erweiterungsbaugruppen (Module) zu verwalten, d. h. es können somit mehrere Module quasi gleichzeitig betrieben werden
  • die im Grundgerät enthaltenen Speicher (RAM, IRM, ROM) ein- und auszuschalten
  • das im Grundgerät enthaltene Betriebssystem abzuschalten und mit einem anderen, in einem Modul enthaltenen, zu arbeiten
  • RAM-Speicherblöcke mit einem Schreibschutz zu versehen
  • die 6 auf der Tastatur enthaltenen Funktionstasten (F1...F6) in beiden möglichen Belegungen mit beliebigen Codes oder Zeichenketten (z. B. Menü- oder BASIC-Schlüsselwörter oder Abarbeitungstastenfolgen (JOBS)) zu belegen
  • für die Darstellung von Zeichen auf dem Bildschirm beliebige Zeichenbildtabellen (Zeichengeneratoren) zu verwenden, d. h. man kann sich Zeichenbilder frei definieren (z. B. kyrillische Buchstaben, Grafikzeichen) und diese z. B. auf Magnetband abspeichern
  • die Zeichencodes der Tastatur beliebig anzuordnen

Die wichtigsten Bestandteile des Betriebssystems CAOS werden nachfolgend beschrieben.

Zentrale Steuerschleife

Nach dem Einschalten des Computers wird der Arbeitsspeicher gelöscht, alle Module abgeschaltet und die internen Peripherieschaltkreise PIO und CTC sowie der Monitor-RAM initialisiert. Ab CAOS 4.x wird das erste gefundene V.24-Modul ebenfalls initialisiert. Anschließend wird das Menü aufgebaut und auf dem Bildschirm angzeigt. Danach wartet der Rechner auf Tastatureingaben.

Wird eine Taste betätigt, so erscheint das entsprechende Zeichen auch auf dem Bildschirm. Sobald die Enter-Taste gedrückt wurde, sucht CAOS nach einem Menüwort, das der Eingabe entspricht. Kann es nicht gefunden werden, meldet das Betriebssystem einen Fehler und wartet auf eine erneute Tastatureingabe.

Ist ein entsprechender Menüeintrag im Speicher vorhanden, dann versucht CAOS eventuell eingegebenen Argumente (Parameter) zu erfassen und prüft diese anschließend auf Richtigkeit. Bis zu zehn Argumente können einem Programm in der Eingabezeile übergeben werden. Danach erfolgt ein Sprung zum ausgewählten Programm. Nach dessen Beendigung mit RETURN wird wieder die Eingabeschleife aktiv.

Modulverwaltung

Die KC-Computerreihe ermöglicht es, durch eine spezielle Steuerung, mehrere Module vom gleichen Typ quasi gleichzeitig zu betreiben. Diese können im Grundgerät oder in einem Aufsatz stecken. Mit dem Kommando SWITCH werden die Module vom Menü, von BASIC oder über die entsprechende Systemroutine vom Programm aus geschaltet.

Das Ansprechen der Module erfolgt über die vom Steckplatz abhängigen Moduladressen. Eine Moduladresse setzt sich aus Gerätenummer (oberes Halbbyte) und Steckplatzadresse (unteres Halbbyte) zusammen.

Beim Lesen einer Adresse sendet jedes Modul ein spezielles Strukturbyte auf den Datenbus, anhand dessen der Modultyp festgestellt werden kann. Die Kennungen der Module sind den Modulbeschreibungen zu entnehmen. Das Schalten der Module erfolgt über Ausgabe eines Steuerbytes an die Moduladresse. Den Modulbeschreibungen kann die Bedeutung der einzelnen Bits des Steuerbytes entnommen werden.

Die internen Speicher (RAM, IRM, ROM) können ähnlich den Modulen ein- bzw. ausgeschaltet werden. Sie haben allerdings keine Modulsteuerung, die Steuerbytes werden aber in den Modulsteuerwortspeicher eingetragen.

Menükonzept

Das im CAOS verwendete Menükonzept ist unabhängig von bestimmten Speicherplätzen; jedes Programm kann also an beliebiger Stelle im Speicher stehen. Sofern es über einen entsprechenden "Vorspann" (Prolog) verfügt, wird es ins Menü eingetragen und kann über dieses gestartet werden.

Auf diese Weise kann auch das CAOS-Menü leicht erweitert werden. Eigene Menüs können mit einem anderen Prolog erstellt werden. Es ist dann lediglich die Arbeitzelle für das Prologbyte (IX+9) zu ändern. Programme, die über einen Menüeintrag gestartet werden, müssen als Unterprogramm geschrieben werden (mit RETURN abgeschlossen).

Beim Programmaufruf können auf der gleichen Bildschirmzeile bis zu 10 Argumente (Parameter) übergeben werden. Die Anzahl der erkannten Argumente wird in einer Systemarbeitszelle abgelegt. Ebenso die Argumente selbst, die als 2-Byte-Zahlen dem Programm zur Verfügung gestellt werden. Gleichzeitig werden die ersten drei Argumente in die Registerpaare HL, DE und BC und die Anzahl in Register A geladen.

Systemschnittstellen

Um den Benutzern - speziell den Programmierern - der KC-Computer die Arbeit zu erleichtern, stehen vom Betriebssystem spezielle System-Unterprogramme (UP) zur Verfügung. Dabei wird der Aufruf von Betriebssystem-UP und -Gerätetreibern über sogenannte Programmverteiler gesteuert. Das CAOS enthält eine Liste, in der alle UP numeriert sind. Dem Programmverteiler muß als Parameter die gewünschte UP-Nummer übergeben werden, um es zu starten.

Je nach CAOS-Version stehen bis zu 73 System-UP zur Verfügung. Die Funktionen umfassen nahezu alle programmrelevanten Bereiche und erstrecken sich z. B. von Bildschirmausgaben (Zeichen und Grafik) oder Tastatureingaben über Routinen zur Magnetbandaufzeichnung bis hin zu komplexen Aufgaben wie der Verlagerung des Systemarbeitsbereiches.

Systemarbeitszellen

Zu einem großen Teil lassen sich Eigenschaften und Funktionen des Systems durch Änderung des Inhalts der Systemarbeitszellen beeinflussen. Diese sind im Arbeitsspeicher des Rechners in zwei unterschiedlichen Bereichen angesiedelt.

Einerseits befinden sich im oberen Teil des Bildwiederholspeichers zahlreiche Arbeitszellen und Speicherbereiche (wie z. B. Kassettenpuffer, Modulsteuerwortspeicher, Funktionstastenspeicher und Fenstervektorspeicher). Zum anderen liegen standardmäßig ab 0200 hex abwärts der IX-Bereich, die Interrupttabelle und der Kellerspeicher (STACK). Mittels CAOS-Unterprogramm ist es jedoch möglich, einen anderen Adreßbereich zu wählen.

Aufgrund des flexiblen Konzepts können Programme durch Verändern von Zeigern (in den Arbeitszellen) CAOS-Funktionen umlenken und somit ändern bzw. ersetzen. Dazu gehören unter anderem die Zeichenbildtabelle, die Unterprogramm-Tabelle, die Tabelle der Tastaturcodes, die Tabelle der Stammcodes für das Bildschirmprogramm und die Zeiger auf die Unterprogramme der Ein- und Ausgabekanäle.