Please enter your email

Frequently Asked Questions

For any other information or inquiries please contact us.

What is virtualization ?  

Virtualization is the ability to run multiple Execution Environments on a single hardware platform. An execution environment can be an Operating system (OS) and its applications, a Real-time operating system (RTOS) or a stand-alone application. In the virtualization field, an Execution Environment is called a Virtual Machine or "VM".


Which are virtualization benefits ?

  • Cost reduction

Bill of Material is greatly reduced through the use of a single hardware component as virtualization enables the elimination of redundant devices.
Development and validation costs are also greatly reduced, because it allows the re-use of validated existing software and hardware IP.

  • Faster-Time To Market
Validated software and hardware IP re-use has a strong impact on Time-To-Market through greater ease-of-use on the part of developers as well as more rapid validation of the overall system. TRANGO's hypervisor ensures continuity with existing hardware and software environments and allows for seamless integration.

  • New product feature development
The integration of a Rich OS such as Linux or WindowsCE into a platform makes possible numerous new applications that can be integrated with the help of their substantial developer communities.
With TRANGO's hypervisor, platforms are highly scalable, allowing value-added services such as DRM, broadcast, secure update, device management, payment, and crypto to be securely deployed.


What is the difference between emulation, full virtualization and paravirtualization ?

  • Emulation
Emulation simulates an Instruction Set Architecture (ISA) which enables an OS to run on a Hardware it was not designed for.
Emulation only does not support the ability to run multiple OS on a single hardware.

  • Full virtualization
Full virtualization allows developers to run multiple OSs simultaneously on a single physical CPU and those OSs are run natively.
Although, OS support is straightforward, full virtualization has a high system overhead, which does not lend itself to real-time performance.

  • Paravirtualization

Paravirtualization allows multiple OSs to run simultaneously on a single CPU. To be supported by the virtualization system, an OS must be adapated slightly.
Essentially what had been privileged or kernel mode calls to hardware in the native code, in a paravirtualized OS become API calls to the hypervisor.

  • What is the difference between a Hypervisor and a micro-kernel ?
Hypervisor aims to run several heterogeneous operating systems in parallel whereas, Micro-kernel targets to extract drivers from kernel space of operating system.


What is a hypervisor ?

A hypervisor, or Virtual Machine Monitor (VMM) is a key piece of virtualization software, that allows designers to run multiple Operating Systems on a single physical CPU. The VMM guarantees complete isolation between hosted Virtual Machines (VMs).

TRANGO creates multiple virtual CPUs, or Virtual Processor Units (VPUs) from a single underlying hardware element.  Each VPU offers an extremely processor-like interface to hosted software.


How secure is TRANGO's hypervisor?

TRANGO has been designed from the ground up with security in mind.  TRANGO's security relies on existing and proven Hardware mechanisms leveraging these mechanisms to create a highly secure and scalable platform. 

  • CPU Mode

TRANGO's hypervisor is the only software allowed to operate in CPU kernel mode. This way access to privileged instructions is under hypervisor control. TRANGO creates what we refer to as "virtual kernel mode" for paravirtualized software such as OS and RTOS which still have multiple priority levels that can be used to manage their applications.

  • MMU Barrier

The hypervisor controls the partitioning of hardware resources such as memory and peripherals. Memory partitioning is done through hypervisor control of the MMU.  TRANGO dynamically ensures that memory or peripherals are accessed by OS, RTOS or applications that have been explicitly allowed access. This security policy guarantees that OS, RTOS and applications have their own address space or secure shared memory/peripheral, and that cross contamination between domains is controlled.

  • Scalable security

TRANGO can run multiple virtual machines on a single CPU. As a result, each application can be running in its own isolated virtual machine independent of other applications, which guarantees its secure execution.

  • 20 KB of assembly code

TRANGO's hypervisor is small, and written in assembly language. In a secure processing environment it is important to keep the code size, and hence the "attack surface" as small as possible.  TRANGO's hypervisor footprint of 20KB is ideal.  As an assembly coded product it is also much more difficult for hackers to decipher than C-coded products.


Can I use GPL licensed code?

TRANGO's hypervisor is a binary kernel that provides a virtual machine (VM) interface to each execution environment. As a consequence, every VM can host applications that hold a different license, with our binary kernal as the dividing line between both different code bases, and different license terms. 

In this way it is possible to run a proprietary OS in parallel with Linux with no GPL entanglements. The TRANGO hypervisor's license isolation allows maximum use of GPL code with a minimum of risk.


What about real-time performance?

In embedded markets, real-time capabilities are key.  This fact makes paravirtualization the most relevant approach as this approach reduces system overhead considerably.  However, even with paravirtualization there is considerable work to be done in keeping the footprint as small as possible, and system latencies as low as possible.  Our focus on real-time deterministic performance has led us to create the thinest, lightest hypervisor in the market, coded in assembly language for the smallest footprint, and providing run-time overhead of only 2%.