User`s manual

SCIOPTA - Real-Time Kernel
User’s Manual Manual Version 4.1 6-1
SCIOPTA - Real-Time Kernel
6 Messages
6 Messages
6.1 Introduction
SCIOPTA is a so called Message Based Real-Time Operating System. Interprocess communication and coordina-
tion is done by messages. Message passing is a very fast, secure, easy to use and good to debug method.
Messages are the preferred tool for interproces
s communication in SCIOPTA. SCIOPTA is specifically designed
to have a very high message passing performance. Messages can also be used for interprocess coordination or syn-
chronization duties to initiate different
actions in processes. For this purposes messages can but do not need to carry
data.
A message buffer (the data area of a message) can only be accessed by one process
at a time which is the owner of
the message. A process becomes owner of a message when it allocates the message by the sc_msgAlloc system
call or when it receives the message by the sc_msgRx system call.
Message passing is also possible between processes on different CPUs.
In this case specific communication proc-
ess types on each side will be needed called SCIOPTA Connector Pr
ocesses.
6.2 Message Structure
Every SCIOPTA message has a message identity and a range reserved for message data which can be freely ac-
cessed by the user. Additionally there are some
hidden data structure which will be used by the kernel. The user
can access these message information by specific SCIOPTA system calls. The following message system informa-
tion are stored in the message header:
Process ID of message owner
Message size
Process ID of transmitting process
Process ID of addressed process
Figure 6-5: SCIOPTA Message Structure
owner
size
transmitter
addressee
internal use
DATA
message ID
end mark
user accessible