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 AMC-20-193, allowing even airborne multi-core processor boards.

PikeOS BSP List

Board Support Packages

PikeOS BSP List

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.

Customer Benefits

Check

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

Check

PikeOS ensures deterministic behaviour of critical applications under all conditions

Check

Early innovator in multi-core applications

Check

Long heritage in Avionics application on highest certification levels

Check

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

Check

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

Check

SYSGO in-house services create board support packages (BSP) on multi-core SoC

Shadow

Need more Information?

Tell us about your project and your needs.
 

Contact us