8.7
Basis Ein-/Ausgabe-System von RMOS3
Gerätesteuerung unter RMOS3
Die Steuerung und Verwaltung von Peripheriegeräten wird bei RMOS3 durch entsprechende
geräteabhängige Software vorgenommen. Die gesamte geräteabhängige Software wird dem
Ein–/Ausgabebereich, auch E/A–Bereich genannt, zugeordnet. E/A–Software kann sowohl
durch Anwendertasks, relativ einfache Interrupthandler, als auch durch
Betriebssystemsoftware (Treiber, siehe unten) implementiert sein. Ein– und Ausgaben, die
durch keinen Treiber (siehe unten) unterstützt werden, können in einer Anwendertask mit
zugehörigem Interrupthandler implementiert werden. Der Anwendertask wird eine der E/A–
Bearbeitung entsprechende Priorität zugeordnet.
Der Vorteil dieser Lösung ist, dass Sie als Anwendungsprogrammierer keinen eigenen
Treiber schreiben und sich nicht mit RMOS3–internen Datenstrukturen beschäftigen
müssen. Vielmehr können Sie mit den SVCs und einem relativ einfachen Interrupthandler
einen großen Anforderungsrahmen abdecken. So kann zum Beispiel eine Interrupt–Routine
implementiert werden, die den Start einer Task auslöst (
Bearbeitung vornimmt.
Treiber
Die gerätespezifischen Softwareteile des Betriebssystems werden als Treiber bezeichnet.
Mit den Namen "Manager", "Driver", "device driver" ist derselbe Sachverhalt gemeint. Jeder
Treiber steuert und verwaltet entweder ein oder mehrere Peripheriegeräte gleichen Typs
(z.B. Ausgaben über eine oder mehrere V.24–Schnittstellen). Alle Peripheriegeräte, die ein
einzelner Treiber ansteuert und verwaltet, werden bei RMOS3 als "Geräte" oder "Units"
dieses Treibers bezeichnet. Treiber lassen sich grob in zwei Kategorien einteilen:
Zeichenorientierte Treiber und blockorientierte Treiber. Man kann folgende Unterschiede
zwischen zeichen– und blockorientierten Treibern erkennen:
● Ein blockorientierter Treiber schreibt und liest in Blöcken, die eine bestimmte feste
● Ein zeichenorientierter Treiber liest einen Strom (Stream) von Zeichen ohne Struktur. Die
Serielle und parallele Treiber
Ein weiteres Unterscheidungsmerkmal ist, ob die Geräte eines Treibers unabhängig
voneinander angesteuert werden können oder nicht. Die Steuerung von Diskettenlaufwerken
zum Beispiel erfolgt meist über einen einzigen Controller. Deshalb können E/A–
Anforderungen, auch an unterschiedliche Diskettenlaufwerke, nur nacheinander (seriell)
angesteuert werden.
Im Gegensatz dazu können mehrere Terminals unabhängig voneinander (parallel) durch den
gleichen Treiber gesteuert und verwaltet werden, da jedes Terminal einen eigenen V.24–
Controller besitzt.
RMOS3 V3.50 Benutzerhandbuch
Bedienhandbuch, 07/2012, A5E03692290-01
Anzahl von Zeichen besitzen. Jeder Block ist unabhängig von anderen Blöcken
adressierbar (Diskettenlaufwerke sind blockorientierte Geräte).
Zeichen sind nicht einzeln adressierbar. Terminals, Drucker, Mäuse und ähnliches sind
zeichenorientierte Geräte.
Betriebssystem-Eigenschaften von RMOS3
8.7 Basis Ein-/Ausgabe-System von RMOS3
RmQueueStartTask
), die ihrerseits die
149