Database Reference
In-Depth Information
Guest
Source ISA
Host
Ta rget ISA
FIGURE 16.10
The emulation process.
to run in the same way on any platform. Java VM (JVM) [36] and Microsoft com-
mon language infrastructure (CLI) [42] are examples of HLL VMs. In summary, a
process VM is similar to a regular process running on an OS. However, a process
VM allows, through emulation, the execution of an application compiled for an ISA
different than that of the host machine.
16.5.2 s ystem v irtual m aChines
Contrary to process VMs, a system VM is a virtual machine capable of virtualizing
a full set of hardware resources including processors, memories, and IO devices,
thus providing a complete system environment. A system VM can support an OS
along with its associated processes as long as the system environment is alive. Figure
16.9b illustrates system VMs. As defined previously, the hypervisor (or the virtual
machine monitor [VMM]) is a piece of software that provides abstraction for the
system VM. It can be placed at the ISA level directly on top of the raw hardware and
below system images (e.g., OSs). The hardware resources of the host platform can be
shared among multiple guest VMs. The hypervisor manages the allocation of, and
access to, the hardware resources to/by the guest VMs. In practice, the hypervisor
provides an elegant way to logically isolate multiple guest VMs sharing a single
physical infrastructure (e.g., the cloud datacenters). Each guest VM is given the illu-
sion of acquiring the hardware resources of the underlying physical machine.
There are different classes of system VMs. Figure 16.11 exhibits three of these
classes as well as traditional systems. In a conventional time-shared system, the OS
runs in privileged mode (system mode) while the applications associated with it run
in unprivileged mode (user mode) (more details on execution modes will be dis-
cussed in Section 16.6.1). With system virtualization, however, the guest OS(s) will
run in unprivileged mode while the hypervisor can operate in privileged mode. Such
a system is denoted as native system VM . In native system VM, every privileged
instruction issued by a user program at any guest OS has to trap to the hypervisor.
In addition, the hypervisor needs to specify and implement every function required
for managing hardware resources. In contrary, if the hypervisor operates in unprivi-
leged mode on top of a host OS, the guest OS(s) will also operate in unprivileged
Search WWH ::




Custom Search