XtratuM is a bare-metal
hypervisor
A hypervisor (also known as a virtual machine monitor, VMM, or virtualizer) is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is calle ...
specially designed for
embedded real-time
Real-time or real time describes various operations in computing or other processes that must guarantee response times within a specified time (deadline), usually a relatively short time. A real-time process is generally one that happens in defined ...
systems available for the
instruction set
In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ' ...
s
LEON2/3/4 (
SPARC
SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system developed ...
v8),
ARM
In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between the ...
v7 and V8 processors (TMS570, R5, A9, A52, A53) and RISC V processor.
It was initially developed by the
Universidad Politécnica de Valencia
The Technical University of Valencia ( ca-valencia, Universitat Politècnica de València, UPV; , es, Universidad Politécnica de Valencia) is a Spanish university located in Valencia, with a focus on science, technology, and arts. It was founded ...
(Spain). XtratuM was released as
free and open-source software
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
, subject to the requirements of the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the Four Freedoms (Free software), four freedoms to run, study, share, and modify the software. The license was th ...
(GPL), version 2 or any later.
A new version of XtratuM from scratch (XtratuM New Generation XNG) is commercialized b
fentISSunder a proprietary license. It has been qualified for critical systems.
XtratuM is a hypervisor designed for embedded systems to meet safety critical real-time requirements. It provides a framework to run several
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s (or real-time executives) in a robust partitioned environment. XtratuM can be used to build a
MILS (Multiple Independent Levels of Security) architecture.
History
The name XtratuM derives from the word
stratum
In geology and related fields, a stratum ( : strata) is a layer of rock or sediment characterized by certain lithologic properties or attributes that distinguish it from adjacent layers from which it is separated by visible surfaces known as ei ...
. In geology and related fields it means:
:Layer of rock or soil with internally consistent characteristics that distinguishes it from contiguous layers.
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 (the one closest to the hardware), which provides a solid basis for the rest of the system.
XtratuM 1.0 was initially designed as a substitution of the
RTLinux
RTLinux is a hard realtime real-time operating system (RTOS) microkernel that runs the entire Linux operating system as a fully preemptive process. The hard real-time property makes it possible to control robots, data acquisition systems, manu ...
HAL (
Hardware Abstraction Layer
Hardware abstractions are sets of routines in software that provide programs with access to hardware resources through programming interfaces. The programming interface allows all devices in a particular class ''C'' of hardware devices to be acce ...
)
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 (including booting) 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
A hypervisor (also known as a virtual machine monitor, VMM, or virtualizer) is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is calle ...
for critical
real-time
Real-time or real time describes various operations in computing or other processes that must guarantee response times within a specified time (deadline), usually a relatively short time. A real-time process is generally one that happens in defined ...
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' as ...
s follows these criteria:
* Strong temporal isolation: fixed cyclic scheduler.
* Strong spatial isolation: all partitions are executed in processor user mode, and do not share memory.
* Basic resource virtualization: clock and timers, interrupts, memory,
CPU and special devices.
* Real-time scheduling policy for partition scheduling.
* Efficient context switch for partitions.
* Deterministic hypercalls (hypervisor system calls).
* Health monitoring support.
* Robust and efficient inter-partition communication mechanisms (sampling and queuing ports).
* Low overhead.
* Small size.
* Static system definition via configuration file (XML).
In the case of embedded systems, particularly avionics systems, the
ARINC 653 ARINC 653 (Avionics Application Software Standard Interface) is a software specification for space and time partitioning in safety-critical avionics real-time operating systems (RTOS). It allows the hosting of multiple applications of different so ...
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 ARINC 653 (Avionics Application Software Standard Interface) is a software specification for space and time partitioning in safety-critical avionics real-time operating systems (RTOS). It allows the hosting of multiple applications of different so ...
standard. XtratuM is not an
ARINC 653 ARINC 653 (Avionics Application Software Standard Interface) is a software specification for space and time partitioning in safety-critical avionics real-time operating systems (RTOS). It allows the hosting of multiple applications of different so ...
compliant system. The standard relies on the idea of a
separation kernel
A separation kernel is a type of security kernel used to simulate a distributed environment. The concept was introduced by John Rushby in a 1981 paper.John Rushby, "The Design and Verification of Secure Systems," Eighth ACM Symposium on Operating ...
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 (
SPARC
SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system developed ...
v8) and Cortex R4/Cortex R5/Cortex A9 (ARMv7) architectures.
XtratuM support as execution environments:
* XAL (XtratuM Abstraction Layer) for bare-C applications
* POSIX PSE51 Partikle RTOS
* ARINC-653 P1 compliant LITHOS RTOS
* ARINC-653 P4 compliant
uLITHOS
runtime
* Ada Ravenscar profile
ORK+
*
RTEMS
Real-Time Executive for Multiprocessor Systems (RTEMS), formerly Real-Time Executive for Missile Systems, and then Real-Time Executive for Military Systems, is a real-time operating system (RTOS) designed for embedded systems. It is free and open ...
* Linux
See also
*
Kernel-based Virtual Machine
Kernel-based Virtual Machine (KVM) is a virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM r ...
*
L4 microkernel
L4 is a family of second-generation microkernels, used to implement a variety of types of operating systems (OS), though mostly for Unix-like, ''Portable Operating System Interface'' (POSIX) compliant types.
L4, like its predecessor microkernel ...
s
*
Xen
Xen (pronounced ) is a type-1 hypervisor, providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently. It was
originally developed by the University of Cambridge Computer Laboratory an ...
*
Paravirtualization
In computing, paravirtualization or para-virtualization is a virtualization technique that presents a software interface to the virtual machines which is similar, yet not identical, to the underlying hardware–software interface.
The intent o ...
*
Nanokernel
In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management ...
References
External links
XtratuM Official PagefentISS
{{Virtualization software
Free virtualization software
Virtualization software for Linux