Virtualization Layers
The virtualization software creates the abstraction of VMs by
interposing a virtualization layer at various levels of a
computer system.
Common virtualization layers include:
1. the instruction set architecture (ISA) level,
2. hardware level,
3. operating system level,
4. library support level, and
5. application level
08/31/2025 1
Virtualization Ranging from Hardware to Applications in Five Abstraction Levels
08/31/2025 2
1.Virtualization at Instruction Set Architecture (ISA) level:
• At the ISA level, virtualization is performed by emulating a given ISA by the ISA of the host machine.
Instruction set emulation leads to virtual ISAs created on any hardware machine. e.g, MIPS binary code
can run on an x-86-based host machine with the help of ISA emulation.
• With this approach, it is possible to run a large amount of legacy binary code written for various
processors on any given new hardware host machine.
• code interpretation – dynamic binary translation - virtual instruction set architecture (V-ISA)
• Advantage:
• It can run a large amount of legacy binary codes written for various processors on any given new
hardware host machines
• best application flexibility
• Shortcoming & limitation:
• One source instruction may require tens or hundreds of native target instructions to perform its
function, which is relatively slow.
• V-ISA requires adding a processor-specific software translation layer in the complier.
08/31/2025 3
2.Virtualization at Hardware Abstraction level:
• Hardware-level virtualization is performed right on top of the bare hardware.
• On the one hand, this approach generates a virtual hardware environment for a
VM.
• On the other hand, the process manages the underlying hardware through
virtualization.
• The idea is to virtualize a computer’s resources, such as its processors, memory
and I/O devices. The intention is to upgrade the hardware utilization rate by
multiple users concurrently.
Advantage:
• Has higher performance and good application isolation
Shortcoming & limitation:
• 08/31/2025
Very expensive to implement (complexity) 4
3.Virtualization at Operating System (OS) level:
• OS-level virtualization creates isolated containers on a single physical server
and the OS instances to utilize the hardware and software in data centers. The
containers behave like real servers.
• OS-level virtualization is commonly used in creating virtual hosting
environments to allocate hardware resources among a large number of
mutually distrusting users.
Advantage:
• Has minimal startup/shutdown cost, low resource requirement, and high
scalability; synchronize VM and host state changes.
Shortcoming & limitation:
• All VMs at the operating system level must have the same kind of guest OS
• Poor application flexibility and isolation.
08/31/2025 5
Virtualization at OS Level
08/31/2025 6
Advantages of OS Extension for Virtualization
1. VMs at OS level has minimum startup/shutdown costs
2. OS-level VM can easily synchronize with its environment
Disadvantage of OS Extension for Virtualization
•All VMs in the same OS container must have the same or similar
guest OS, which restrict application flexibility of different VMs on
the same physical machine.
08/31/2025 7
4.Library Support level:
• Since most systems provide well-documented APIs, such an interface
becomes another candidate for virtualization.
• Virtualization with library interfaces is possible by controlling the
communication link between applications and the rest of a system through API
hooks.
• The software tool WINE has implemented this approach to support Windows
applications on top of UNIX hosts.
• Another example is the vCUDA which allows applications executing within
VMs to leverage GPU hardware acceleration.
Advantage:
• It has very low implementation effort
Shortcoming & limitation:
• poor application flexibility and isolation
08/31/2025 8
5.User-Application Level
• Virtualization at the application level virtualizes an application as a VM. On a traditional OS, an
application often runs as a process.
• Therefore, application-level virtualization is also known as process-level virtualization.
• The most popular approach is to deploy high level language (HLL) VMs. In this scenario, the
virtualization layer sits as an application program on top of the operating system, and the layer
exports an abstraction of a VM that can run programs written and compiled to a particular
abstract machine definition.
• Other forms of application-level virtualization are known as application isolation, application
sandboxing, or application streaming.
Advantage:
• has the best application isolation
Shortcoming & limitation:
• low performance, low application flexibility and high implementation complexity.
08/31/2025 9
User-Application Level Virtualization
08/31/2025 10