XtratuM


XtratuM is a bare-metal hypervisor specially designed for embedded real-time systems available for the instruction sets LEON2/3/4 and ARM v7 processors.
It has been developed by the Universidad Politécnica de Valencia with contributions of the Lanzhou University. XtratuM is released as free and open-source software, subject to the requirements of the GNU General Public License, version 2 or any later. Professional versions are commercialized by under a proprietary license.
XtratuM is a hypervisor designed for embedded systems to meet safety critical real-time requirements.
It provides a framework to run several operating systems in a robust partitioned environment. XtratuM can be used to build a MILS architecture.

History

The name XtratuM derives from the word stratum. In geology and related fields it means:
In order to stress the tight relation with Linux and the open-source movements, the “S” was replaced by “X”. XtratuM would be the first layer of software, which provides a solid basis for the rest of the system.
XtratuM 1.0 was initially designed as a substitution of the RTLinux HAL
to meet temporal and spatial partitioning requirements.
The goal was to
virtualize the essential hardware devices to execute several OSes concurrently, with at least one of these OSes being a RTOS. The other hardware devices were left to a special
domain, named root domain.
After this experience, it was redesigned to be independent of Linux and
bootable. The result of this is XtratuM 2.0 which is type 1 hypervisor that uses para-virtualization. The
para-virtualized operations are as close to the hardware as
possible. Therefore, porting an operating system that already works on the
native system is a simple task: replace some parts of the operating system HAL with the corresponding hypercalls.

Overview

The design of a hypervisor for critical real-time embedded systems follows these criteria:
In the case of embedded systems, particularly avionics systems, the 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. XtratuM is not an ARINC 653 compliant system. The standard relies on the idea of a separation kernel defining both the API and operations of the partitions and also how the threads or processes are managed inside each partition.
XtratuM hypervisor supports the LEON 2/LEON 3/LEON 4 and Cortex R4/Cortex R5/Cortex A9 architectures.
XtratuM support as execution environments: