|
| The SCIOPTA Method |
 |
|
| No Global Data |
Messages are dynamically allocated from a message pool. Messages in SCIOPTA include also ownership. Only messages owned by a process can be accessed by the process. Therefore only one process at a time may access a message (the owner). This automatically excludes access conflicts by a simple and elegant method.
The unique and efficient memory management of SCIOPTA messages avoid memory fragmentation. |
| Powerful Message Receiving |
The SCIOPTA message receiving system call is very powerful.
You can set the receiving to block and wait until the message is received. Or you can define a time-out value which blocks and waits for a specified time. Or you can set no time-out to return immediatelly and check if the message has arrived or not.
By defining a parameter array, you can select to receive specific messages and you can select to receive messages from specific processes. |
|
|
|
|
| Message Based |
| SCIOPTA is designed on a message-based architecture allowing direct message passing between processes. |
| Processes |
| A typical system controlled by SCIOPTA consists of a number of more or less independent programs called processes. Each process can be seen as if it had the whole CPU for its own use. SCIOPTA controls the system by activating the correct processes according to their priority assigned by the user. Occurred events trigger SCIOPTA to immediately switch to a process with higher priority. This ensures a fast response time and guarantees the compliance with the real-time specifications of the system. |
| Direct Message Passing |
In SCIOPTA processes communicate and cooperate by exchanging messages. Messages can have a content to move data from one process to the other or can be empty just to coordinate processes. Often, process switches can occur as a result of a message transfer.
Besides data and some control structures messages contain also an identity (number). This can be used by a process for selecting specific messages to receive at a certain moment. All other messages are kept back in the message queue of the receiving process. |
 |
|
|
| Time Management |
| Timing jobs registered by processes are managed by SCIOPTA. Processes which want to suspend execution for a specified time or processes which want to receive messages and declaring specified time-out can all use the timing support of the SCIOPTA system calls. |
| Error Handling |
SCIOPTA has many built-in error check functions such as: message allocation check, process identity verifications, message ownership check, system call parameters validation, message and stack checks.
Contrary to most conventional real-time operating systems, SCIOPTA uses a centralized mechanism for error reporting, called Error Hooks. In traditional real-time operating systems, the user needs to check return values of system calls for a possible error condition. In SCIOPTA all error conditions will end up in an Error Hook. This guarantees that all errors are treated and that the error handling does not depend on individual error strategies which might vary from user to user. |
| Easy to Use |
| The direct message passing method is automatically very well suited to support teamwork in large development groups. |
|
|