Database Reference
In-Depth Information
applications to be ported easily (via recompilation) to any system that supports the
same API. As the API deals with software source codes, the ABI is a binary inter-
face. The ABI is essentially a compiled version of the API. Hence, it lies at the
machine language level. With ABI, system functionalities are accessed through OS
system calls. OS system calls provide a specific set of operations that the OS can
perform on behalf of user programs. A source code compiled to a specific ABI can
run unchanged only on a system with the same OS and ISA. Finally, ISA defines a
set of storage resources (e.g., registers, memory) and a set of instructions that allows
manipulating data held at storage resources. ISA lies at the boundary between hard-
ware and software. As discussed later in the chapter, ABI and ISA are important in
defining virtual machine types.
16.4 WHAT IS VIRTUALIZATION?
Formally, virtualization involves the construction of an isomorphism that maps a vir-
tual guest system to a real host system [48]. Figure 16.6 illustrates the virtualization
process. The function V in the figure maps guest state to host state. For a sequence of
operations, e , that modifies a guest state, there is a corresponding sequence of opera-
tions, e ′, in the host that performs equivalent modifications. Informally, virtualiza-
tion creates virtual resources and maps them to physical resources. Virtual resources
are formed based on physical resources and act as proxies to them.
The concept of virtualization can be applied to either a system component or to
an entire machine. Traditionally, virtualization has been applied to only the memory
component in general purpose OSs, providing what is known as the virtual memory .
In a revisit to the hard disk example in Figure 16.4, some applications might desire
multiple hard drives. To satisfy such a requirement, the physical hard drive can be
partitioned into multiple virtual disks as shown in Figure 16.7. Each virtual disk
will be offered logical cylinders, sectors, and tracks. This keeps the level of detail
analogous to what is offered by general-purpose OSs, yet at a different interface and
actually without being abstracted. The hypervisor can map (the function V in the
isomorphism) a virtual disk to a single large file on the physical disk. Afterwards,
to carry a read/write operation on a virtual disk (the function e in the isomorphism),
the hypervisor interprets the operation as a file read/write followed by an actual disk
read/write (the function e in the isomorphism).
e ( S i )
s i
s j
Guest
V ( S i )
V ( S j )
e ´( S i ´)
s i ´
s j ´
Host
FIGURE 16.6
Virtualization isomorphism.
 
Search WWH ::




Custom Search