Database Reference
In-Depth Information
like a regular host. Further details on VMs and their different types will be provided
in the next section.
16.5 VIRTUAL MACHINE TYPES
There are two main implementations of virtual machines (VMs): process VMs and
system VMs . We will first discuss process VMs and then system VMs.
16.5.1 P roCess v irtual m aChines
A process VM is a virtual machine capable of supporting an individual process
as long as the process is alive. Figure 16.9a demonstrates process VMs. A process
VM terminates when the hosted process ceases. From a process VM perspective, a
machine consists of a virtual memory address space, user-level registers and instruc-
tions assigned to a single process so as to execute a user program. Based on this
definition, a regular process in a general-purpose OS can also be deemed a machine.
However, a process in an OS can only support user program binaries compiled for
the ISA of the host machine. In other words, executing binaries compiled for an ISA
different than that of the host machine cannot be ensued with regular processes.
Conversely, a process VM allows that to happen via what is denoted as emulation .
As shown in Figure 16.10, emulation is the process of allowing the interfaces and
functionalities of one system (the source) to be employed on a system with different
interfaces and functionalities (the target). Emulation will be discussed in detail in
Section 16.6.3. The abstraction of the process VM is provided by a piece of a virtu-
alizing software called the runtime (see Figure 16.9a). The runtime is placed at the
Application Binary Interface (ABI), on top of the host OS, and the underlying hard-
ware. It is this runtime that emulates the VM instructions and/or system calls when
guest and host ISAs are different.
Finally, a process VM may not directly correspond to any physical platform but
employed mainly to offer cross-platform portability. Such kinds of process VMs are
known as High Level Language virtual machines (HLL VMs). An HLL VM abstracts
away details of the underlying hardware resources and the OS and allows programs
Application
processes
Application
processes
Guest
Guest VM
Virtualization
software
Runtime
OS
Virtualization
software
OS
Hypervisor
Host
Hardware
Hardware
Host machine
(a)
(b)
FIGURE 16.9 Virtual machine types: (a) process virtual machines and (b) system virtual
machines.
Search WWH ::




Custom Search