Virtualization for Embedded Systems WP continued

2.1 What Is It?

Virtualization refers to providing a software environment on which programs, including operating systems, can run as if on bare hardware (Figure 2.1). Such a software environment is called a virtual machine (VM). Such a VM is an efficient, isolated duplicate of the real machine [PG74].

The software layer that provides the VM environment is called the virtual-machine monitor (VMM), or hypervisor.

In order to maintain the illusion that is incorporated in a virtual machine, the VMM has three essential characteristics [PG74]:

  1. the VMM provides to software an environment that is essentially identical with the
  2. original machine;
  3. programs run in this environment show, at worst, minor decreases in speed;
  4. the VMM is in complete control of system resources.

All three characteristics are important, and contribute to making virtualization highly useful in practice. The first (similarity) ensures that software that runs on the real machine will run on the virtual machine and vice versa. The second (efficiency) ensures that virtualization is practicable from the performance point of view. The third (resource control) ensures that software cannot break out of the VM.

The term virtual machine is also frequently applied to language environments, such as the Java virtual machine. This is referred to as a process VM, while a VM that corresponds to actual hardware, and can execute complete operating systems, is called a system VM [SN05]. In this paper we only deal with system VMs.

Download complete White Paper


More White Papers and Publications

▲ Back to Top