0% found this document useful (0 votes)
4 views

Unit3

Uploaded by

Yashaswini M
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Unit3

Uploaded by

Yashaswini M
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

UNIT 3

Virtualization Overview

• Provides an abstract environment for running applications.


• Often synonymous with hardware virtualization.
• Essential for delivering Infrastructure-as-a-Service (IaaS)
solutions for cloud computing.
• Available in various flavors at operating system,
programming language, and application levels.
• Provides a virtual environment for executing applications,
storage, memory, and networking.
Virtualization technologies have gained renewed
interested recently due to the confluence of
several phenomena:
• Increased Performance and Computing Capacity
• Underutilized Hardware and Software Resources
• Lack of Space
• Greening Initiatives
• Rise of Administrative Costs
Characteristics of virtualized environments

Virtualization is a broad concept that refers to


• Creation of a virtual version of hardware, software, storage, or
network.
• Comprises guest, host, and virtualization layer.
• Guest interacts with the virtualization layer, not the host.
• Host represents the original environment for guest management.
Hardware virtualization is the most intuitive and popular
implementation of virtualization technology.

• In hardware virtualization, the guest is a system image with


an operating system and installed applications.
• The host is the physical hardware or operating system that
defines the environment where the virtual machine manager
is running.
• In virtual storage, the guest might be client applications or
users that interact with the virtual storage management
software.
Cont…
• In virtual networking, the guest interacts with a virtual network, such
as a virtual private network (VPN), managed by specific software.
• VPNs create the illusion of being within a different physical network
and accessing resources.
• Virtual environments are created through software programs.
Characteristics of virtualized environments

•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.

Machine reference model, Hardware-level virtualization , Programming


language-level virtualization , Application-level virtualization
Machine reference model

• Requires a reference model to define interfaces between abstraction


levels.
• Virtualization techniques replace one layer and intercept directed
calls.
• Clear separation simplifies implementation.
• Requires emulation of interfaces and proper interaction with
underlying layer.
Modern Computing Systems: Reference
Model and ISA
• Hardware model is expressed in ISA, defining processor,
registers, memory, and interrupt management.
• ISA is the interface between hardware and software, crucial
for OS developers and application developers.
• Application binary interface (ABI) separates OS layer from
applications and libraries.
Cont..
• ABI covers low-level data types, alignment, and call
conventions, and defines executable program format.
• System calls implement the same ABI.
• Application programming interface (API) interfaces
applications to libraries and/or the underlying operating
system.
Hardware-level virtualization
• Provides an abstract execution environment for guest
operating systems.
• Represents guest as operating system, host as physical
hardware, virtual machine as emulation, and virtual machine
manager as hypervisor.
• Hypervisor, a program or combination of software and
hardware, allows abstraction of underlying physical hardware.
• Also known as system virtualization.
Hypervisors

• Fundamental element of hardware virtualization.


• Recreates hardware environment for guest operating
systems.
• Types: Type I and Type II.
•Type I and Type II Hypervisors Overview

• Type I hypervisors run on hardware, replacing operating


systems.
• They interact with the ISA interface of the underlying
hardware, allowing management of guest operating systems.
• Also known as a native virtual machine.
• Type II hypervisors require the support of an operating
system for virtualization services.
• They are managed by the operating system and interact
with it through the ABI.
• Also called a hosted virtual machine, hosted within an
operating system.
Full Virtualization Overview
• Enables running a program directly on a virtual machine
without modification, essentially running on raw hardware.
• Requires virtual machine managers to provide complete
emulation of the underlying hardware.
• Advantages include complete isolation, enhanced security,
ease of emulation of different architectures, and coexistence
of different systems on the same platform.
Paravirtualization Overview
• A not-transparent virtualization solution for thin virtual
machine managers.
• Exposes slightly modified software interface to the virtual
machine.
• Aims to demand execution of performance-critical
operations directly on the host.
• Prevents performance losses in managed execution.
• Guest operating systems need to be modified and explicitly
ported.
• Performance-critical operations are remapping through the
virtual machine software interface.
Partial Virtualization Overview
• Provides partial emulation of underlying hardware.
• Allows many applications to run transparently, but not all
features of the operating system.
• Example: Address space virtualization in time-sharing
systems.
• Allows multiple applications and users to run concurrently in
a separate memory space.
Programming language-level virtualization
• Aims for ease of application deployment, managed
execution, and portability across different platforms and
operating systems.
• Comprises of a virtual machine executing the byte code of a
program.
• Compilers use this technology to produce a binary format
representing the machine code for an abstract architecture.
• Characteristics vary from implementation to
implementation, but typically simplify the underlying
hardware instruction set and provide high-level instructions
mapping language features.
Cont…
• Byte code can be interpreted or compiled on the fly at
runtime.
• Advantages include uniform execution environment across
different platforms, simplifying development and deployment
efforts.
• Implementation of the virtual machine for different
platforms is costly but done once, not for any application.
• Allows more control over program execution as it doesn't
provide direct access to memory.
Application-level virtualization

• Technique enabling applications to run in non-native


runtime environments.
• Applications are not installed in expected environment but
run as though they were.
• Mainly concerned with partial file systems, libraries, and
operating system component emulation.
• Emulation performed by a thin layer, executing the
application.
• Emulation can execute program binaries compiled for
different hardware architectures.
strategies

• Interpretation: Emulator interprets source instructions for


native ISA execution, causing poor performance.
• Binary Translation: Converts source instructions to native
instructions with equivalent functions.
• Initial overhead is high, but improves over time due to direct
execution of translated instruction blocks.
Other types of virtualization

• 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.

Aggregates different physical networks into a single logical network


(external network virtualization).

Provides network-like functionality to an operating system partition


(internal network virtualization).
.
Cont…
External network virtualization results in a virtual LAN (VLAN), a
communication aggregation of hosts.

Internal network virtualization is applied alongside hardware and


operating system-level virtualization, providing a virtual network
interface for guests.

Options include sharing the host's network interface or having a private


network only with the guest
Desktop virtualization

• Abstracts the desktop environment on a personal computer


for client/server access.
• Serves the same purpose as hardware virtualization but
makes a different system accessible remotely.
• Addresses the problem of making the same desktop
environment accessible from everywhere.
• Desktop environment is typically stored in a remote server
or data center for high-availability and data persistence.
Cont…
• Advantages of desktop virtualization include high
availability, persistence, accessibility, and ease of
management.
• Security issues can prevent the use of this technology.
• Basic services for remote desktop access are implemented in
software components like Windows Remote Services, VNC,
and X Server.
• Infrastructures for desktop virtualization based on cloud
computing solutions include Sun Virtual Desktop
Infrastructure (VDI), Parallels VDI, and Citrix XenDesktop.
Application server virtualization

• Abstracts a collection of application servers providing


services as a single virtual server.
• Uses load-balancing strategies for high-availability
infrastructure.
• Serves the same purpose as storage virtualization: providing
better service quality.
Virtualization and cloud computing

• Cloud Computing Virtualization Role


• Allows customization, security, isolation, and manageability.
• Crucial for delivering IT services on demand.
• Primarily used for configurable computing environments and
storage.
• Hardware virtualization is crucial for solutions in the
Infrastructure-as-a-Service (IaaS) market segment.
• Programming language virtualization is used in
Platform-as-a-Service (PaaS)
• It allows isolation and finer control, simplifying service leasing and
vendor accountability.
Pros and cons of virtualization
Advantages of virtualization
• Managed execution and isolation: Virtualization allows for secure and controllable computing

environments. It can be configured as a sandbox, preventing harmful operations from crossing the

virtual host's borders.

• Resource allocation and partitioning: Virtual hosts are controlled by a program, simplifying

resource allocation and partitioning among guests.

• Portability: Virtual machine instances are easily transported and self-contained, simplifying

administration and enabling migration techniques in server consolidation scenarios.

• Cost reduction: Virtualization reduces maintenance costs as the number of hosts is expected to be

lower than the number of virtual machine instances.

• 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.

2. Single Point of Failure – Host server failure affects all VMs.

3. Resource Contention – Multiple VMs competing for shared resources.

4. Complex Management – Requires specialized tools and expertise.

5. Security Risks – Hypervisor vulnerabilities and isolation issues.

6. Licensing and Cost – Expensive software licenses and hardware upgrades.

7. Backup Challenges – Complex backup and restoration processes.

8. Not Ideal for All Workloads – Unsuitable for hardware-intensive or real-time applications.

9. Network Dependency – Requires reliable connectivity, especially for cloud setups.

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

VMware’s technology is based on the concept of full virtualization,


where the underlying hardware is replicated and made available to the
guest operating system

• Implemented in desktop and server environments using Type II and


Type I hypervisors.
• Enables direct execution for nonsensitive instructions and binary
translation for sensitive instructions.
• Allows virtualization of architectures like x86.
• Provides additional tools and software for desktop and server
virtualization technology.

You might also like