Herunterladen Inhalt Inhalt Diese Seite drucken

Kommunikation Über Lokale Mailboxen; Bild - Siemens Rmos3 Bedienungsanleitung

Echtzeit-betriebssystem rmos3 rmos3 v3.50 benutzerhandbuch
Inhaltsverzeichnis
8.4.5
Kommunikation über lokale Mailboxen
Lokale Mailboxen
Eine Mailbox ist in RMOS3 eine Datenstruktur, die einer dynamischen, linearen Liste vom
Typ Nachricht entspricht. Eine Nachricht ist immer 3 Worte (12 Bytes) lang und besitzt einen
von der Applikation abhängigen Inhalt (z.B. einen Zeiger und eine Länge, oder einfach 12
Zeichen).
Die Warteschlange besitzt keine feste Länge (deshalb dynamisch) und wird durch den SVC
RmSendMail
kopiert eine 12 Byte lange Nachricht in die Mailbox. Der SVC
Nachricht aus der Mailbox in den Speicher der aufrufenden Task.

Bild 8-15

Jeder
Nachricht entsprechend der Priorität in die Mailbox einsortiert wird. Der
holt immer die höchst priorisierte Nachricht aus der Warteschlange. Beide SVCs können mit
dem Parameter "Warten" aufgerufen werden.
Da jede Task auf eine Mailbox zugreifen kann, d.h.
durchführen kann, liegt es in der Verantwortung der Anwendertasks bzw. des
Anwendungsprogrammierers, jeder Mailbox eine bestimmte Bedeutung als
Kommunikationspunkt zuzuordnen.
So könnte in obiger Abbildung Task 1 eine Mailbox kreieren und zyklisch Nachrichten
(Messages) in diese Mailbox schicken. Message 1 könnte als Inhalt eine sechs Byte lange
Nachricht enthalten, Message 2 hingegen einen Zeiger auf einen gemeinsamen
Speicherbereich. Mit dem SVC
der Reihe nach (Message 1 zuerst) aus der Mailbox abzuholen und damit auch zu entfernen.
RMOS3 V3.50 Benutzerhandbuch
Bedienhandbuch, 07/2012, A5E03692290-01
verlängert bzw. durch den SVC
Kommunikation über lokale Mailboxen
–Aufruf kann mit einer Priorität versehen werden, die bewirkt, dass die
RmSendMail
Betriebssystem-Eigenschaften von RMOS3
8.4 Taskkommunikation, -koordination, -synchronisierung
RmReceiveMail
RmSendMail
hat die Task 2 die Möglichkeit, die Messages
RmReceiveMail
abgebaut. Der SVC
RmSendMail
kopiert die
RmReceiveMail
RmReceiveMail
– und
RmReceiveMail
–Aufruf
–Aufrufe
113
Inhaltsverzeichnis
loading

Inhaltsverzeichnis