The TRANGO hypervisor is a virtualization layer that allows multiple Virtual Machines to run on a single Hardware platform. It is based on paravirtualization technology which requires that the guest OS be slightly modified. "Privileged" or kernel mode instructions in the OS that access hardware directly are modified to API calls to the hypervisor, or "hypercalls".
Para virtualization is the most appropriate virtualization technique for embedded applications as it allows the best real-time performance compared to emulation or full virtualization which impose considerable resource burdens on the system both from the standpoint of memory and CPU overhead.
A Virtual Machine Monitor (VMM) otherwise known as a hypervisor is the software that creates multiple execution environments. Each execution environment allows a developer to run software as though there were a single underlying physical hardware platform, and each is 'unaware' of the existence of the others.
To populate each execution environment, TRANGO creates a Virtual Processing Unit (VPU) as an accurate representation of the underlying hardware. Hard real time performance is built in as well as robust security and isolation from processing domain to processing domain. It is this hardware-like behavior from the standpoint of processor overhead and resource loading that differentiates the TRANGO product line.
One major design feature of TRANGO's hypervisor is the processor interface provided within each virtual machine. A guest OS interacts with the local Virtual Processing Unit (VPU) as it would interact with a 'real' CPU.
Hardware resources are virtualized which enables their sharing and partitioning between Virtual Machines. As a result, each Virtual Machine has its own adress spaces for accessing memory and peripherals.
Virtual CPU cores, virtual memory and virtual peripherals allocated to a given Virtual Machine are part of the physical Hardware platform.
TRANGO's partitioning of Hardware resources ensures robust isolation of each Virtual Machine.
With the TRANGO Hypervisor it is possible to provide each Virtual Machine (VM) with its own Hardware resources including CPU core, address space for accessing its own memory and accessing peripherals. Virtual Machines are thus strongly isolated from each other.