MaximumPC 2008 12

(Dariusz) #1

C


an a computer exist
without hardware?
It can if it’s a virtual
machine. A virtual machine
is soft ware that’s capable of
executing programs as if it
were a physical machine—it’s
a computer within a computer.
Virtual machines can be divid-
ed into two broad categories:
process virtual machines and
system virtual machines.
A process virtual machine
is limited to running a single
program. A system virtual
machine, on the other hand,
enables one computer to
behave like two or more
computers by sharing the
host hardware’s resources. A
system virtual machine con-
sists entirely of soft ware, but
an operating system and the
applications running on that
OS see a CPU, memory, stor-
age, a network interface card, and all the other
components that would exist in a physical
computer. For the remainder of this discussion,
we’ll use the term “virtual machine” to refer to
a system virtual machine.
Soft ware running on a virtual machine is

limited to the resources and abstract hardware
that the virtual machine provides. Since a virtual
machine can provide a complete instruction set
architecture (ISA, a defi nition of all the data types,
registers, address modes, external input/output,
and other programming elements that a given
collection of hardware is capable of working
with), a virtual machine can simulate hardware
that might not even exist in the physical world.
Using virtual machines, a computer can run
several iterations of an operating system—or

even several diff erent operating systems—with
each OS isolated from and oblivious to the exis-
tence of the others. The only requirement is that
each operating system must be capable of sup-
porting the underlying hardware. And, of course,
there must be enough resources (memory, hard
disk space, CPU cycles, and so
on) to support everything. You
could use a virtual machine to
run Linux on top of Windows, for
instance, or you could run two
versions of Windows and use one
as a sandbox for testing soft ware
you wouldn’t trust on a “real” machine.

MORE POWERFUL THAN A
SUPERVISOR
The soft ware that manages this trick is known
as a hypervisor. A Type 1 (native) hypervisor is a
program that runs directly on the host hardware,
i.e., as an operating system in and of itself. Mi-
crosoft ’s Hyper-V, formerly known as Windows
Server Virtualization, is one example of a Type
1 hypervisor. A Type 2 (hosted) hypervisor, such

as Microsoft ’s Virtual PC 2007, runs on top of
another operating system.
IBM developed the technology for its
big-iron mainframe computers in 1967, but
the Intel x86 architecture at the foundation
of IBM PC-compatible machines was not well
suited for running hypervisors. Achieving full
virtualization required exceedingly complex
code, which hampered runtime performance.
Although it remained a fi xture in mainframe
and midrange computer systems, virtual
machine technology saw very little progress
during the 1980s and 1990s.
In the last few years, however, AMD and
Intel both developed extensions to their x86
architectures that render newer CPUs much
more suitable for running hypervisors. AMD
has dubbed its extensions AMD Virtualiza-
tion (AMD-V); Intel calls its extensions Intel
Virtualization Technology (Intel VT). AMD-V is
present in many newer AMD CPUs, including
the Athlon 64 and Athlon 64 X2 (socket AM2
only), the Phenom X3 and X4, and second-
generation Opteron server parts.

IBM DEVELOPED VIRTUAL
MACHINE TECHNOLOGY FOR
ITS BIG-IRON MAINFRAME
COMPUTERS IN 1967....

70 |MAMAMAXIMXIMXIMXIMUUUUMMPPPCC|DEC 08 |www.maximumpc.com


WHITE PAPER


R&D^


EXAMINING TECHNOLOGY AND PUTTING IT TO USE

This software technology can make one computer do the work of several —MICHAEL BROWN


Virtual Machines


WHITE PAPER


Virtual Machines


WHITE PAPER


Two Types of Virtual Machines


HOW IT WORKS

System virtual machines fall into two categories: Type 1 hypervisors (left), which run directly on the host hardware,
and Type 2 hypervisors (right), which run on top of another operating system. Both are capable of running multiple
independent instances of one operating system or different operating systems, all of which behave as though they
are solely in control of the system.

Operating
System

Application

Operating
System

Operating
System

Application Application

Operating
System

Application

Operating
System

Operating
System

HYPERVISOR HYPERVISOR

HOST HARDWARE

HOST HARDWARE

Application Application

TYPE 1 HYPERVISOR TYPE 2 HYPERVISOR

OPERATING SYSTEM
Free download pdf