Herunterladen Inhalt Inhalt Diese Seite drucken

Kommunikation Und Koordination Durch Starten Einer Task; Kommunikation Und Koordination Durch Semaphore - Siemens Rmos3 Bedienungsanleitung

Echtzeit-betriebssystem rmos3 rmos3 v3.50 benutzerhandbuch
Inhaltsverzeichnis
Betriebssystem-Eigenschaften von RMOS3
8.4 Taskkommunikation, -koordination, -synchronisierung
8.4.1

Kommunikation und Koordination durch Starten einer Task

Starten einer Task
Dieses Kommunikationsmittel ist eng verwandt mit der Verwaltung von Tasks. Die Nachricht
besteht im Starten einer Task durch eine andere Task über SVCs (
RmQueueStartTask
Task.
Falls die zu startende Task nicht im Zustand DORMANT ist, kann die Startanforderung auch
in eine Warteschlange eingereiht werden (
Alle drei SVCs besitzen eine Warteoption, durch die die aufrufende Task blockiert wird, bis
die gestartete Task beendet ist. Dadurch ist auch eine gegenseitige Benachrichtigung der
Tasks möglich.
Die Kommunikation durch Starten einer anderen Task ist zeitaufwändig im Vergleich zum
Informationsgehalt der Nachricht. Die SVCs zum Starten von Tasks werden deshalb meist
nur zum einmaligen Starten von Tasks benutzt.
Überführung in den Zustand BEREIT
Kommunikation durch Überführung einer Task vom Zustand WARTEND in den Zustand
BEREIT
Eine Task, die sich selbst durch einen zeitbezogenen SVC (
RmRestartTask
WARTEND überführt hat, kann durch den SVC
den Zustand BEREIT kommen. Voraussetzung für das Zustandekommen eines
Informationsflusses sind die Aufrufe
RmRestartTask
8.4.2

Kommunikation und Koordination durch Semaphore

Semaphore
Semaphore sind Betriebsmittel, um Reservierungen von kritischen Bereichen (z.B.
gemeinsame Datenbereiche) zu implementieren.
Als kritischer Bereich wird eine Aktion bezeichnet, die nur von einer Task ausgeführt werden
darf.
Diese Aktion besitzt einen genau definierten Anfang und ein genau definiertes Ende. Eine
Task, die diesen Bereich nie verlässt, versperrt diesen Bereich für andere Tasks. Die
Reservierung von Geräten oder die Steuerung von Zugriffen auf gemeinsame
Datenstrukturen durch Tasks sind solche Beispiele.
Angenommen, eine niederpriorisierte Task reserviert ein Gerät und wird durch eine Task mit
höherer Priorität dauernd verdrängt, d.h. die Task niederer Priorität bekommt keine
Rechenzeit; dann ist dieses Gerät für alle anderen Tasks nicht verfügbar.
Der Beginn des kritischen Bereichs ist die Reservierung des Peripheriegeräts. Die
Beendigung des kritischen Bereiches ist die Aufhebung der Reservierung.
108
) und besitzt bestenfalls eine vordefinierte Bedeutung für die gestartete
: Task beenden und nach Zeitintervall erneut starten) in den Zustand
RmPauseTask
andererseits.
).
RmQueueStartTask
RmRestartTask
einer anderen Task wieder in
RmResumeTask
bzw.
RmRestartTask
Bedienhandbuch, 07/2012, A5E03692290-01
RmStartTask,
und
RmPauseTask
einerseits und
RMOS3 V3.50 Benutzerhandbuch
;
Inhaltsverzeichnis
loading

Inhaltsverzeichnis