RTOS & Multi-Core

Following the principles of the ARINC 653 standard (see virtualization), PikeOS can be configured to run a strict time partition scheme, assigning each operating systems a fixed amount of time. Most of the use cases in the Avionics world can be realized this way, especially when mixed criticality is involved.
However, when it comes to Safety in general, PikeOS offers extensions to the original standard that make it more adaptable in terms of performance and the ability to react instantly to external events.

First of all, the time partition concept has been extended to consider multiple processor cores. The requirement initially came from the Railway market and PikeOS has been the first operating system that achieved a SIL 4 safety certification for multi-core support. Since then, the concepts have been refined and improved, especially in the field of cache management and locking. In addition to that, fine grained locking in the PikeOS kernel itself and band width monitoring for user applications have been implemented. This significantly lowers the interference between processor cores and contributes to the system's overall deterministic behaviour. These days, a skilled system integrator is enabled to setup a system that follows the requirements of the CAST-32a standard, allowing even airborne multi-core processor boards.

Another extension originates from the Automotive world. In order to provide instant responsiveness to external events, the OS combines the fixed time partition schemes with priority-driven thread scheduling.

A thread within a Safety-critical partition can be assigned to a special time partition that is always active. By executing this thread with a sufficient priority, it may interrupt any other operation on the same processor core instantly. This allows an immediate reaction to incidents that have been raised externally. This mechanism is especially useful for the handling of asynchronous events which may  occur frequently in autonomous driving vehicles or braking systems.

The same mechanism can be used for non-critical applications in order to utilize background time that would otherwise be unused. Here, a thread within the always active time partition is assigned to a low priority. In case a high-critical partition clears its processor time, the lower priority thread may execute background operations.

The ability to execute a thread in this special time partition is a setting that must be unlocked explicitly in the partition configuration. In addition, each partition owns a property that strictly controls the maximum allowed priority, These static settings are enforced by the PikeOS kernel at runtime unconditionally, ensuring deterministic behaviour of critical applications under all conditions.

Benefits

PikeOS is an RTOS and hypervisor at the same time, enabling customers to scale with their software platform

PikeOS ensures deterministic behaviour of critical applications under all conditions

Early innovator in multi-core applications

Long heritage in avionics application on highest certification levels

PikeOS offers extensions that make it more adaptable in terms of performance and the ability to react instantly to external events

Our System-on-Chip (SoC) partner ecosystem supports most of the multi-core vendors

SYSGO in house services create board support packages (BSP) on multicore SoC

Need more Information?

Tell us about your project and your needs.
 

Contact us