XtratuM
Encyclopedia
XtratuM is an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 hypervisor
Hypervisor
In computing, a hypervisor, also called virtual machine manager , is one of many hardware virtualization techniques that allow multiple operating systems, termed guests, to run concurrently on a host computer. It is so named because it is conceptually one level higher than a supervisory program...

 specially designed for embedded
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...

 real-time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...

 systems available for x86, PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

, recently for LEON2 (SPARC
SPARC
SPARC is a RISC instruction set architecture developed by Sun Microsystems and introduced in mid-1987....

 v8) processors.

It has been developed by the Universidad Politécnica de Valencia (Spain) with contributions of the Lanzhou University
Lanzhou University
Lanzhou University, founded in 1909, is a university located in Lanzhou, Gansu Province, China. It provides programs for undergraduate, graduate students on four campuses--three in Lanzhou city centre and one in Yuzhong , which is about 30 miles away from the main campus. Total enrollment is...

 (China).

XtratuM is a free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 licensed under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 (GPLv2).

XtratuM is a hypervisor designed for embedded systems to meet safety critical real-time requirements.
It provides a framework to run several operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s (or real-time executives) in a robust partitioned environment. XtratuM can be used to build a MILS
Multiple Independent Levels of Security
Multiple Independent Levels of Security/Safety is a high-assurance security architecture based on the concepts of separation and controlled information flow; implemented by separation mechanisms that support both untrusted and trustworthy components; ensuring that the total security solution is...

 (Multiple Independent Levels of Security) architecture.

History

The name XtratuM derives from the word stratum
Stratum
In geology and related fields, a stratum is a layer of sedimentary rock or soil with internally consistent characteristics that distinguish it from other layers...

. 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
RTLinux or RTCore is a hard realtime RTOS microkernel that runs the entire Linux operating system as a fully preemptive process.It was developed by Victor Yodaiken , Michael Barabanov , Cort Dougan and others at the New Mexico Institute of Mining and Technology and then as a commercial product at...

 HAL (Hardware Abstraction Layer)
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
Paravirtualization
In computing, paravirtualization is a virtualization technique that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware....

 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 an hypervisor
Hypervisor
In computing, a hypervisor, also called virtual machine manager , is one of many hardware virtualization techniques that allow multiple operating systems, termed guests, to run concurrently on a host computer. It is so named because it is conceptually one level higher than a supervisory program...

 for critical real-time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...

 embedded system
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...

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.
  • System definition (partitions and allocated resources) defined via an XML configuration file.


In the case of embedded systems, particularly avionics systems, the ARINC 653
ARINC 653
ARINC 653 is a software specification for space and time partitioning in Safety-critical avionics Real-time operating systems...

 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
ARINC 653 is a software specification for space and time partitioning in Safety-critical avionics Real-time operating systems...

 standard. XtratuM is not an ARINC 653
ARINC 653
ARINC 653 is a software specification for space and time partitioning in Safety-critical avionics Real-time operating systems...

 compliant system. The standard relies on the idea of a separation kernel
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...

 defining both the API and operations of the partitions and also how the threads or processes are managed inside each partition.

XtratuM 2.0 hypervisor supports the x86 and LEON2 (SPARC
SPARC
SPARC is a RISC instruction set architecture developed by Sun Microsystems and introduced in mid-1987....

 v8) architectures.

Supported operating systems include PartiKle and RTEMS
RTEMS
RTEMS is a free open source real-time operating system designed for embedded systems....

.

See also

  • Kernel-based Virtual Machine
    Kernel-based Virtual Machine
    Kernel-based Virtual Machine is a virtualization infrastructure for the Linux kernel. KVM supports native virtualization on processors with hardware virtualization extensions....

  • L4 microkernels
  • Xen
    Xen
    Xen is a virtual-machine monitor providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently....

  • Paravirtualization
    Paravirtualization
    In computing, paravirtualization is a virtualization technique that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware....

  • Nanokernel

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK