# PikeOS

PikeOS is a commercial hard real-time operating system (RTOS) which has a separation kernel-based hypervisor that supports multiple logical partition types for various operating systems (OS) and applications, each referred to as a GuestOS. PikeOS is engineered to support the creation of certifiable smart devices for the Internet of Things (IoT), ensuring compliance with industry standards for quality, safety, and security across various sectors. In instances where memory management units (MMU) are not present but memory protection units (MPU) are available on controller-based systems, PikeOS for MPU is designed for critical real-time applications and provides up-to-standard safety and security.

## Overview

PikeOS was introduced in 2005 and combines a real-time operating system (RTOS) with a virtualization platform and Eclipse-based integrated development environment (IDE) for embedded system (embedded systems). It is a commercial clone of the L4 microkernel family. PikeOS has been developed for safety and security-critical applications with certification needs in the fields of aerospace, defense, automotive, transport, industrial automation, medical, network infrastructures, and consumer electronics. The PikeOS separation kernel (v5.1.3) is certified against Common Criteria at EAL5+.
One of the key features of PikeOS is its ability to safely execute applications with different safety and security levels concurrently on the same computing platform. This is done by strict spatial and temporal segregation of these applications via software partitions. A software partition can be seen as a container with pre-allocated privileges that can have access to memory, central processing unit (CPU) time, input/output (I/O), and a predefined list of OS services. With PikeOS, the term application refers to an executable linked against the PikeOS application programming interface (API) library and running as a process inside a partition. The nature of the PikeOS application programming interface (API) allows applications to range from simple control loops up to full paravirtualized guest operating systems like Linux or hardware virtualized guests.
Software partitions are also called virtual machines (VMs), because it is possible to implement a complete guest operating system inside a partition which executes independently from other partitions and thus can address use cases with mixed criticality. PikeOS can be seen as a Type-1 hypervisor.

## Supported toolchain, IDE CODEO

The Eclipse-based IDE CODEO supports system architects with graphical configuration tools, providing all the components that software engineers will need to develop embedded applications, as well as including comprehensive wizards to help embedded project development in a time-saving and cost-efficient way:
* Guided configuration
* Remote debugging (down to the hardware instruction level)
* Target monitoring
* Remote application software deployment
* Timing analysis
Several dedicated graphical editing views support the system integrator to always keep the overview on important aspects of the PikeOS system configuration showing partition types, scheduling, communication channels, shared memory and IO device configuration within partitions.
Projects can be easily defined with the help of reusable templates and distributed to the development groups. Users can configure predefined components for their project and can also define and add other components during the development process.

## Main benefits

* Real-time operating system including Type-1 hypervisor defined for flexible configuration
* Supports fast or secure boot
* Supporting mixed criticality via separation kernel in one system
* Configuration of partitions with time and hardware resources
* Kernel driver and user space drivers supported
* Hardware independence between processor types and families
* Easy migration processes and high portability on single- and multi-core
* Developed to support certification according to multiple safety and security standards
* Reduced time to market via standard development and verification tools
* No export restriction: European solution

## Certification standards

Safety certification standards according to:
* Radio Technical Commission for Aeronautics (RTCA) – DO-178B/C
* International Organization for Standardization (ISO) – 26262
* International Electrotechnical Commission (IEC) – 62304, 61508
* EN – 50128, 50657
Security certification standards according to:
* Common Criteria
* SAR (?)

## Partner ecosystem

SYSGO is committed to establish the technology and business partnerships that will help software engineers to achieve their goals. As of October 2017, SYSGO is working with about 100 partners globally.
An excerpt of partners per category is mentioned below:
* Board vendors: Curtiss-Wright Controls Embedded Computing, Kontron, MEN or ABACO
* Silicon vendors: NXP, Renesas, Texas Instruments (TI), Xilinx, Infineon, NVidia or Intel
* Software partners: CoreAVI, wolfSSL, Aicas, AdaCore, Esterel, Apex.AI, RTI, PrismTech, Datalight, Systerel, Imagination Technologies or RAPITA
* Tool partners: Lauterbach, Vector Software, Rapita, iSYSTEM
* Supported architectures: ARM, PowerPC, x86, or SPARC (on request)

## Supported GuestOS types

* Linux or Android (ideally SYSGO Linux distribution ELinOS)
* POSIX PSE51 with PSE52 extensions
* ARINC 653
* RTEMS
* Java
* AUTOSAR
* Ada, including Ravenscar profile
* and others

## End-of-life overview

| Product type | Product version | Linked ELinOS version | Release | EOL |
| PikeOS | 3.4 (non cert) | 5.2 | 2013-07 | Since 2017-12 |
| PikeOS | 3.4 (cert) | 5.2 | 2013-07 | LTS on x86 |
| PikeOS | 3.5 | 6.0, 6.1 | 2015-01 | Since 2017-12 |
| PikeOS | 4.0 | 6.0, 6.1 | 2016-03 | Since 2019-06 |
| PikeOS | 4.1 | 6.1 | 2016-08 | Since 2021-04 |
| PikeOS | 4.2 (non cert) | 6.2 | 2017-01 | Candidate |
| PikeOS | 4.2 (cert) | 6.2 | 2017-04 | Current |
| PikeOS | 5.0 (non cert) | 7.0, 7.1 | 2020-06 | Current |
| PikeOS | 5.0 (cert) | 7.0, 7.1 | 2020-08 | Current |
| PikeOS | 5.1 (non cert) | 7.1 | 2021-01 | Current |
| PikeOS | 5.1 (cert) | 7.1 | 2021-02 | Current |