8.3.5
S-Zustand
S-Zustand
System Zustand. Hier handelt es sich um Interrupthandler, die in Systemprozesse
umgewandelt worden sind. Nach der Umwandlung werden diese Systemprozesse in eine
Warteschlange eingereiht. Alle Systemprozesse sind gegenüber Anwendertasks
bevorrechtigt. Die Warteschlange der Systemprozesse wird nach dem FIFO-Prinzip (First In,
First Out) verarbeitet. Die Fähigkeit des Betriebssystems, auf Ereignisse (Interrupts) in
Echtzeit zu reagieren, ist nur in diesem Zustand oder bei der Abarbeitung von
Anwendertasks gewährleistet, da nur dann alle Interruptebenen freigegeben sind.
Scheduler verwaltet CPU
Die Codeausführung im S–Zustand unterscheidet sich deutlich von den beiden
vorhergehenden Interrupt–Zuständen. Im S–Zustand verwaltet der RMOS3–Nukleus
(Scheduler) die CPU. Für Interrupthandler, die in den S–Zustand verzweigen (durch den
Aufruf von
Verwaltung durch den Nukleus angelegt (SRB–Block) und in eine Warteschlange eingereiht.
Im SRB–Block sind alle Angaben enthalten, die eine spätere, durch den Scheduler
gesteuerte Wiederaufnahme der Verarbeitung unterstützen. Die weitere Behandlung des
Ereignisses wird dann durch einen Systemprozess (Ausführung des Codes im S–Zustand)
fortgesetzt.
Warteschlange von Systemprozessen
Die Abarbeitung dieser Warteschlange von Systemprozessen geschieht nach dem FIFO–
Verfahren. Der erste in der Warteschlange stehende Systemprozess wird aktiv.
Systemprozesse im Zustand RECHNEND belegen die CPU, bis sie sich selbst beenden.
Das bedeutet, dass alle nachfolgenden Systemprozesse blockiert werden. Systemprozesse
besitzen deshalb untereinander auch keine Priorität.
Alle Interrupts sind freigegeben
Alle Interrupts sind im S–Zustand freigegeben. Abläufe des RMOS3–Nukleus sowie große
Teile von Treiberprogrammen sollten im S–Zustand ausgeführt werden.
Systemprozesse beenden sich immer selbst durch Unterprogrammaufrufe, die vom Nukleus
bereitgestellt werden, oder durch eine RETURN–Anweisung. Die Beendigung eines
Systemprozesses bedeutet in jedem Fall die Übergabe des Kontrollflusses an den Nukleus
(Scheduler). Der Scheduler leitet dann den nächsten Bearbeitungsschritt ein.
RMOS3 V3.50 Benutzerhandbuch
Bedienhandbuch, 07/2012, A5E03692290-01
bzw.
x_systate
RmSetIntISHandler
Betriebssystem-Eigenschaften von RMOS3
8.3 Interrupt-Bearbeitung unter RMOS3
) wird eine eigenständige Datenstruktur zur
101