Information Technology Reference
In-Depth Information
There are side effects of virtualization, notably the performance penalty
and the hardware costs. All privileged operations of a VM must be trapped
and validated by the VMM, which ultimately controls system behavior; the
increased overhead has a negative impact on performance. The cost of the
hardware for a VM is higher than the cost for a system running a traditional
operating system because the physical hardware is shared among a set of
guest operating systems and it is typically configured with faster and/or
multicore processors, more memory, larger disks, and additional network
interfaces compared with a system running a traditional operating system.
A drawback of virtualization is the fact that the operation of the abstraction
layer itself requires resources. Modern virtualization techniques, however,
are so sophisticated that this overhead is not too significant: due to the partic-
ularly effective interaction of current multicore systems with virtualization
technology, this performance loss plays only a minor role in today's systems.
In view of possible savings and the quality benefits perceived by the custom-
ers, the use of virtualization pays off in nearly all cases.
15.1.2 Layering and Virtualization
A common approach to managing system complexity is to identify a set of
layers with well-defined interfaces among them. The interfaces separate dif-
ferent levels of abstraction. Layering minimizes the interactions among the
subsystems and simplifies the description of the subsystems. Each subsys-
tem is abstracted through its interfaces with the other subsystems. Thus, we
are able to design, implement, and modify the individual subsystems inde-
pendently. The instruction set architecture (ISA) defines a processor's set of
instructions. For example, the Intel architecture is represented by the ×86-32
and ×86-64 instruction sets for systems supporting 32-bit addressing and
64-bit addressing, respectively. The hardware supports two execution modes,
a privileged, or kernel, mode and a user mode. The instruction set consists
of two sets of instructions, privileged instructions that can only be executed
in kernel mode and nonprivileged instructions that can be executed in user
mode. There are also sensitive instructions that can be executed in kernel and
in user mode but that behave differently.
Modern computing systems can be expressed in terms of the reference
model described in Figure 15.1. The highest level of abstraction is repre-
sented by the application programming interface (API), which interfaces
applications to libraries and/or the underlying operating system. The appli-
cation binary interface (ABI) separates the operating system layer from the
applications and libraries, which are managed by the OS. ABI covers details
such as low-level data types, alignment, and call conventions and defines
a format for executable programs. System calls are defined at this level.
This interface allows portability of applications and libraries across operat-
ing systems that implement the same ABI. At the bottom layer, the model
Search WWH ::




Custom Search