Execution environments

XtratuM provides one or more virtual execution environments for partitions. A partition consists of one or more concurrent processes, that share access to processor resources based upon the requirements of the application.

Partition developement on top of XtratuM requires to write the code to be executed inside of the partition. Partitions need to be virtualised to be executed on top of a hypervisor. The hypervisor takes control of the system at boot time and initialises the hardware, then the partition code is started. This partition code can be:

  • - An application compiled to be executed on a bare-machine.
  • - A real-time operating system and its applications.
  • - A general purpose operating system and its applications.

Depending on the underlaying hardware, XtratuM provides execution environments. To have more detailed information see below.

  • ARINC-653 based

    ARINC-653 specification defines an APplication EXecutive (APEX) for space and time partitioning that may be used wherever multiple applications need to share a single processor and memory, in order to ensure an exclusive access of physical and temporal resources to the applications, while sharing computer resources, and guarantee that one application cannot bring down another in the event of application failure.

    In the case of embedded systems, particularly avionics systems, ARINC 653 standard defines a partitioning scheme. Although this standard was not designed to describe how a hypervisor must operate, some parts of the model are quite close to the functionality provided by a hypervisor. The XtratuM API and internal operations resemble the ARINC 653 standard, but XtratuM is not an ARINC 653 compliant system. The hypervisor provides the ARINC-653 partition management, inter-partition communications, health monitor, scheduling policy and other functionalities to accurately been adapted to the ARINC-653 standard.

  • RTOS based

    A real-time operating system (RTOS) guarantee that an application will run with very consistent timing, providing a high degree of control over how tasks are prioritized, and typically also allow checking to make sure that important deadlines are met. In RTOS strong guarantees are required, in the case of not react in a certain interval of time would cause great loss.

    XtratuM is designed for real-time operating systems to be secure, reliable and efficient. The hypervisor ensure real-time capabilities though timer and interrupts.

  • General purpose

    General purpose execution environments can provide an excellent platform for developing and running non-critical applications. However, general purpose EE are designed for different use cases than RTOS based EE, they are not the ideal platform for running applications that require precise timing or extended up-time. Deterministic timing behavior is not a design goal for these execution runtimes.

    General purpose execution environments are also employed to handle operator interfaces, databases, and general purpose computing tasks.