Real Time Kernel
High Real-Time Performance
The SCIOPTA architecture is specifically designed to provide excellent real-time performance and small size. Internal data structures, memory management, interprocess communication and time management are highly optimized.
Pre-emptive Real-Time Kernel
SCIOPTA is a pre-emptive real-time kernel. Interrupts can be serviced at any time, even inside the kernel.
SCIOPTA is a message based real-time operating system. A powerful set of system calls is available to control the resources. Standardized processes and interprocess communication result in clear system designs and are easy to write, to read and to maintain.
As processes are communicating with well defined messages and processes can be grouped into modules, SCIOPTA systems are very well suited for team work in big projects. The time-to-market will be reduced dramatically.
Message Based Architecture
SCIOPTA is designed on a message based architecture allowing direct message passing between processes. Messages are mainly used for interprocess communication and synchronization.
SCIOPTA messages are stored and maintained in memory pools. The kernel memory pool manager is designed for high performance and memory fragmentation is avoided.
Processes can be grouped in SCIOPTA modules, which allows you to design a very modular system. Modules can be static or created and killed during run-time as a whole.
SCIOPTA also supports also a friend concept. modules can be friend to other modules. Friend modules have privileged access to either modules system resources.
SCIOPTA modules can be used to encapsulate whole system blocks (such as a communication stack) and protect them from other modules in the system.
Easy to Debug
A SCIOPTA system can be easily debugged by tracing messages until a breaking or blocking situation is reached. The message trace allows analysis the message sequence preceding a possible faulty system state.
A SCIOPTA message contains not only the message data but also administrative information such as the owner, sender and addressee process. The debugger can, therefore, quickly find lost messages or messages which have been sent to wrong processes, by analysing the message pools.
All system components such as modules, interrupt processes, timer processes, prioritized processes and message pools are fully dynamic in SCIOPTA. They can be created and killed during run-time.
SCIOPTA features centralized error handling by using SCIOPTA error hooks. Each time the kernel detects an error, the error hook will be called. This guarantees consistent error handling covering the whole system.
Problems common in traditional operating systems, when using individual error handling by different team members spread over the whole application code, will be avoided in SCIOPTA.
SCIOPTA has built-in support for process supervision. A process can register another process for supervision. If the supervised process dies, the kernel will send a message to the supervisor.