Tenasys Corporation, Real-time Virtualization Experts

Download the Test & Measurement Sucess Story in PDF format

We already use Windows for visualization and database management. Why not use the same platform for critical real-time constraints?

 

 

 

 

 

 

 

Embedded Virtualization — the key to real-time determinism

Virtualization is a commonly used term, but not all virtualization is the same. If not implemented correctly in embedded applications, performance and reliability will suffer and your design goals may not be met

The key difference between embedded applications and office or enterprise computer systems is the need for determinism. General-purpose virtualization approaches, such as those that enable servers to run multiple copies of the same general purpose operating system (GPOS), frequently virtualize the entire machine environment with the goal of maximizing the utilization of the CPU. Unfortunately, this comes at the expense of responsiveness to external events, making this approach unusable for time-critical applications

In contrast, embedded virtualization is engineered to respond to hardware-generated signals deterministically. It does this by partitioning the platform for GPOS and real-time operating system (RTOS) use, only virtualizing what is required. This enables real-time events to be serviced within the required timing, while the GPOS keeps running in its usual way

The release of the Intel 80386 20 years ago introduced the ability to switch the context of tasks. A group of engineers, some of whom are still with TenAsys today devised ways of using that feature to make a GPOS called DOS to run alongside a real time operating system called iRMX. That day the concept of Real-time embedded virtualization was born. Even with the HW features, most of what was achieved was done through a technique called para-virtualization, an adaption of the OSes and drivers to allow them to work together

As GPOSes evolved and DOS was replaced with the Windows GPOS, it became increasingly evident that GPOSes, like Windows were never designed to service events with a fixed priority and hence could not respond to real-time control of machines. As a result, the same para-virtualization techniques were evolved to run updated RTOSes, like INtime along side Windows to maintain the integrity of the real-time environment and get the benefit of the highly evolved graphical interface that Windows provides. With the use of these techniques, embedded virtualization software partitions resources, such as CPU cores (in the case of today’s multi-core systems), RAM, interrupts, and I/O, between RTOSes and GPOSes. Only shared and emulated resources need to be virtualized. Each OS is guaranteed direct physical access to its dedicated I/O, interrupts, RAM and CPU cycles. The RTOS I/O response cycles take absolute priority, without placing any limits on the functionality of the Windows side of the system

In multi-core processor systems, the real-time software is also given guaranteed ownership of a CPU core - delivering maximum performance

Learn more about embedded virtualization from Intel.

Learn more about Intel processors' features for virtualization.