Home

VMMs

VMM, short for virtual machine monitor, is software, firmware, or a combination that creates and runs virtual machines (VMs) by abstracting and partitioning the physical hardware. A VMM allocates CPU time, memory, storage, and I/O resources to each VM while enforcing isolation between them, allowing multiple operating systems to run on a single physical host.

VMMs are commonly categorized by their placement relative to hardware. Type 1, or bare-metal hypervisors, execute

Modern VMMs employ hardware-assisted virtualization, using processor extensions such as Intel VT-x or AMD-V to trap

Typical use cases include server consolidation, private cloud deployments, software development and testing, and secure sandboxing

See also: hypervisor, virtualization, cloud computing, containerization.

directly
on
the
host's
hardware
and
manage
guest
VMs
without
a
host
OS.
Type
2,
or
hosted
hypervisors,
run
as
software
applications
atop
a
conventional
operating
system.
Examples
of
Type
1
VMMs
include
VMware
ESXi,
Microsoft
Hyper-V,
and
the
Linux-based
KVM
when
used
in
a
bare-metal
configuration;
Type
2
VMMs
include
Oracle
VirtualBox,
VMware
Workstation,
and
Parallels
Desktop.
and
virtualize
privileged
instructions.
Paravirtualization
can
be
used
to
reduce
overhead
by
having
guest
operating
systems
cooperate
with
the
VMM.
Memory
management
techniques
such
as
second-level
address
translation
(SLAT)
or
extended
page
tables
(EPT)
and
I/O
virtualization
methods
(for
example
virtio
or
SR-IOV)
improve
performance
and
efficiency.
of
untrusted
workloads.
Security
considerations
focus
on
enforcing
strong
isolation,
minimizing
trusted
code,
and
protecting
against
vulnerabilities
that
could
enable
VMM
escapes
or
side-channel
attacks.