Unit3
Unit3
Virtualization Overview
•Increased security
•Managed execution
•Portability
Security
• The virtual machine manager controls and filters guest activity,
preventing harmful operations.
• Resources exposed by the host can be hidden or protected from
the guest.
• Sensitive information in the host can be naturally hidden
without complex security policies.
• Increased security is required when dealing with untrusted code.
Cont..
• JVM and.NET runtime provide extensive security policies for
customizing application execution environments.
• The file system exposed by the virtual computer is completely
separated from the host machine, providing a secure environment for
running applications.
Managed execution
• Virtualization of the execution environment not only allows increased
security, but a wider range of features also can be implemented.
• In particular, sharing, aggregation, emulation, and isolation are the
most relevant features
Portability
• Hardware virtualization involves packaging the guest into a virtual
image that can be safely moved and executed on different virtual
machines.
• Virtual images are proprietary formats that require a specific virtual
machine manager to be executed.
• Programming-level virtualization, like JVM or.NET runtime, allows
binary code representing application components to run without
recompilation on any implementation of the corresponding virtual
machine.
• This makes the application development cycle more flexible and
deployment straightforward.
• Portability allows users to always have their own system ready to use
as long as the required virtual machine manager is available.
Taxonomy of virtualization techniques
• Virtualization covers a wide range of emulation techniques that are
applied to different areas of computing.
• The first classification discriminates against the service or entity
that is being emulated. Virtualization is mainly used to emulate
execution environments, storage, and networks.
• Among these categories, execution virtualization constitutes the
oldest, most popular, and most developed area.
• Techniques are divided into two categories based on the type of host
they require: process-level techniques implemented on an existing
operating system, and system-level techniques implemented directly
on hardware.
1. Execution virtualization Overview
• Techniques aiming to emulate separate execution environments.
• Supports execution of programs, including operating systems,
binary specifications, and applications.
• Can be implemented directly on hardware by the operating
system, application, or dynamically or statically linked libraries.
• Storage virtualization
• Network virtualization
• Desktop virtualization
• Application server virtualization
Storage virtualization
•Decouples physical hardware organization from logical
representation.
•Provides logical path for data location identification.
•Eliminates user concerns about specific data location.
•allows us to harness a wide range of storage facilities and
represent them under a single logical file system.
Network virtualization
Combines hardware appliances and specific software for creating and
managing a virtual network.
environments. It can be configured as a sandbox, preventing harmful operations from crossing the
• Resource allocation and partitioning: Virtual hosts are controlled by a program, simplifying
• Portability: Virtual machine instances are easily transported and self-contained, simplifying
• Cost reduction: Virtualization reduces maintenance costs as the number of hosts is expected to be
• Efficient use of resources: Virtualization allows multiple systems to coexist and share resources of
the underlying host, enabling server consolidation and dynamic resource adjustment.
disadvantages
1. Performance Overhead – Slower than physical hardware for resource-intensive tasks.
8. Not Ideal for All Workloads – Unsuitable for hardware-intensive or real-time applications.
10. Skill Requirement – Demands trained professionals for setup and management.
Xen: paravirtualization
• An Open-Source Virtualization Platform
• Developed by researchers at the University of Cambridge.
• Supported by a large open-source community and Citrix's
XenSource.
• Used for desktop and server virtualization, and cloud computing
solutions.
• Core technology is the Xen Hypervisor.
• Supports full virtualization using hardware-assisted virtualization.
• Allows high-performance execution of guest operating systems.
• Eliminates performance loss by modifying guest operating systems.
• Not a transparent solution for implementing virtualization,
especially for x86 architecture.
• Figure 3.11 describes the architecture of Xen and its mapping onto a
classic x86 privilege model. A Xen-based system is managed by the
Xen hypervisor, which runs in the highest privileged mode and
controls the access of guest operating system to the underlying
hardware.
• Domain 0, a special domain, hosts a HyperText Transfer Protocol
server for virtual machine creation, configuration, and termination.
• Domain 0 represents the level with highest privileges, while Ring 3
represents the level with the lowest.
• Most popular operating systems use only two levels: Ring 0 for
kernel code and Ring 3 for user application and nonprivileged OS
code.
• the hypervisor in Ring 0, Domain 0, and all the other domains running
guest operating systems—generally referred to as Domain U—in Ring 1,
while the user applications are run in Ring 3
• Paravirtualization needs the operating system codebase to be modified,
and hence not all operat- ing systems can be used as guests in a
Xen-based environment.
• Open-source operating systems such as Linux can be easily modified,
since their code is publicly available and Xen provides full support for their
virtualization, whereas compo- nents of the Windows family are generally
not supported by Xen
VMware: full virtualization