VRT Unit 1
VRT Unit 1
In Full virtualization, virtual machines permit the In paravirtualization, a virtual machine does not
execution of the instructions with the running of implement full isolation of the OS but rather
unmodified OS in an entirely isolated way. provides a different API which is utilized when
the OS is subjected to alteration.
Full Virtualization uses binary translation and a Paravirtualization uses hypercalls at compile time
direct approach as a technique for operations. for operations.
Examples of full virtualization are Microsoft and Examples of paravirtualization are Microsoft
Parallels systems. Hyper-V, Citrix Xen, etc.
10. Briefly explain one advantage of partial virtualization over full virtualization.
● Partial virtualization offers the advantage of improved compatibility with existing systems
compared to full virtualization.
● In partial virtualization, the virtualization layer interacts directly with the underlying hardware,
allowing certain aspects of the system to remain unchanged.
● This means that legacy applications or operating systems that may not be compatible with full
virtualization can still function effectively within a partially virtualized environment.
11. How does virtualization impact the scalability of cloud computing resources?
● Virtualization plays a crucial role in enhancing the scalability of cloud computing resources by
enabling dynamic allocation and reallocation of virtual instances. Cloud environments often
face fluctuating demands, with periods of high activity followed by lulls. Virtualization allows
for the rapid provisioning and deprovisioning of virtual machines (VMs) in response to
changing workload requirements. This dynamic scaling ensures that cloud resources can
efficiently handle varying levels of demand without the need for manual intervention.
● Furthermore, virtualization enables resource pooling, where resources from multiple physical
servers are aggregated and allocated dynamically to meet demand. This elasticity in resource
allocation is essential for maintaining optimal performance and responsiveness in cloud
environments, ensuring that businesses can scale their operations seamlessly to accommodate
growth or spikes in workload.
12. In what ways does virtualization enhance resource utilization in cloud computing?
● Virtualization significantly enhances resource utilization in cloud computing by allowing
multiple virtual instances to run on a single physical server. Traditionally, physical servers
operate at a fraction of their capacity, leading to inefficiencies and wasted resources.
Virtualization addresses this issue by abstracting physical hardware into virtual machines
(VMs), each running its own operating system and applications. By consolidating multiple VMs
onto a single physical server, virtualization optimized resource utilization, maximizing the
efficiency of hardware resources. This consolidation reduces the number of physical servers
required to support workloads, leading to cost savings, improved energy efficiency, and a
smaller data center footprint.
● Additionally, virtualization enables resource pooling and dynamic allocation, ensuring that
resources are allocated efficiently based on workload demands. This flexibility in resource
utilization is a key benefit of virtualization in cloud computing, allowing organizations to
achieve higher levels of efficiency and performance while minimizing waste.
13. What role does virtualization play in disaster recovery strategies for cloud-based systems?
● Virtualization plays a crucial role in disaster recovery strategies for cloud-based systems by
enabling rapid recovery and minimizing downtime in case of disasters. Disaster recovery is a
critical aspect of maintaining business continuity and ensuring data resilience in cloud
environments. Virtualization facilitates disaster recovery by allowing organizations to create
snapshots and backups of virtual machines (VMs) at regular intervals. These snapshots capture
the state of the VMs, including their configuration, data, and applications, at a specific point in
time. In the event of a disaster, such as hardware failure, data corruption, or cyber-attacks, these
snapshots can be used to restore VMs to their previous state quickly.
● Additionally, virtualization enables the replication of VMs across geographically dispersed data
centers, ensuring redundancy and resilience against regional outages or natural disasters. By
leveraging virtualization for disaster recovery, organizations can minimize downtime, mitigate
data loss, and maintain continuity of operations in the face of unforeseen events.
14. How does virtualization contribute to workload isolation in cloud computing?
● Virtualization provides a layer of abstraction that enhances workload isolation in cloud
computing, ensuring security and preventing interference between applications. In a cloud
environment, multiple virtual machines (VMs) coexist on the same physical hardware, sharing
underlying resources such as CPU, memory, and storage. Without proper isolation mechanisms,
there is a risk of one workload affecting or compromising the performance and security of other
workloads.
● Virtualization addresses this challenge by abstracting each VM from the underlying hardware,
creating a virtualized environment where each VM operates independently. Each VM has its
own virtualized hardware resources, including virtual CPUs, memory, and storage, which are
isolated from other VMs on the same host. This isolation prevents a compromised or
malfunctioning VM from affecting other VMs, enhancing security and stability in the cloud
environment.
● Additionally, virtualization allows for the implementation of security measures such as virtual
firewalls, intrusion detection systems (IDS), and access controls within each VM, further
enhancing workload isolation and protecting against unauthorized access or malicious activities.
15. What are the implications of virtualization for software licensing in cloud environments?
● Virtualization introduces several implications for software licensing in cloud environments,
including challenges in tracking and managing licenses for virtual instances. Traditionally,
software licenses are tied to physical hardware, with organizations purchasing licenses based on
the number of servers or processors in use. However, in virtualized environments, multiple
virtual machines (VMs) can run on a single physical server, leading to complexities in software
licensing.
● Organizations must ensure compliance with software licensing agreements while leveraging
virtualization to maximize resource utilization and efficiency. Failure to properly manage
software licenses in virtualized environments can result in compliance issues, legal liabilities,
and increased costs. Additionally, virtualization can impact software licensing models, with
vendors offering alternative licensing options tailored to virtualized environments, such as
per-VM or per-core licensing.
● It is essential for organizations to carefully review and understand software licensing
agreements, consider the implications of virtualization on license management, and implement
proper license tracking and compliance mechanisms to avoid legal and financial consequences.
16. How does partial virtualization differ from full virtualization regarding access to physical
hardware resources?
● Partial virtualization and full virtualization differ in terms of the level of access virtual machines
(VMs) have to physical hardware resources. In full virtualization, VMs have complete access to
physical hardware resources, including CPU, memory, storage, and peripherals. The hypervisor,
a software layer that abstracts and manages the underlying hardware, creates virtual
representations of hardware components, allowing VMs to interact with them as if they were
physical devices.
● This enables VMs to run unmodified operating systems and applications, providing a high level
of compatibility and flexibility. In contrast, partial virtualization restricts VMs' access to
physical hardware resources, limiting their ability to directly interact with hardware
components. Instead, VMs rely on the hypervisor to mediate access to hardware resources,
resulting in reduced performance and functionality compared to full virtualization. Partial
virtualization is often used in scenarios where compatibility or performance considerations
outweigh the benefits of full virtualization, such as legacy applications or specialized
workloads.
17. Discuss the performance overhead associated with paravirtualization compared to full
virtualization.
● Paravirtualization typically incurs lower performance overhead than full virtualization due to
differences in how guest operating systems interact with the hypervisor and underlying
hardware. In full virtualization, guest operating systems are unaware of the virtualization layer
and interact with virtualized hardware components as if they were physical devices. This
requires the hypervisor to emulate hardware instructions and translate them into equivalent
operations on the underlying physical hardware, introducing overhead and impacting
performance.
● In contrast, paravirtualization involves modifying the guest operating system to communicate
directly with the hypervisor and leverage virtualization-aware interfaces. By providing a more
efficient communication path between the guest operating system and the hypervisor,
paravirtualization reduces the need for emulation and improves performance. Guest operating
systems in paravirtualized environments are aware of the virtualization layer and can execute
optimized hypercalls to request services from the hypervisor, resulting in lower latency and
overhead.
● However, paravirtualization requires modifications to the guest operating system, which may
not be feasible for all operating systems or applications. As a result, full virtualization remains
the preferred approach for scenarios where compatibility and flexibility are paramount, while
paravirtualization offers performance benefits in specialized environments where guest
operating system modifications are acceptable.
18. What are the considerations for selecting a hypervisor in cloud deployments?
● Several considerations influence the selection of a hypervisor for cloud deployments, including
performance, management features, and compatibility with existing infrastructure. Performance
is a critical factor, as the hypervisor directly impacts the performance and scalability of
virtualized workloads. Organizations should evaluate the hypervisor's ability to efficiently
allocate and manage hardware resources, minimize overhead, and deliver high-performance
virtualization.
● Additionally, management features play a crucial role in simplifying the administration and
orchestration of virtualized environments. Key management capabilities to consider include
centralized management consoles, automation tools, monitoring and reporting capabilities, and
integration with cloud management platforms.
● Compatibility with existing infrastructure is another important consideration, particularly in
hybrid cloud or multi-cloud environments. The chosen hypervisor should seamlessly integrate
with existing hardware, networking, storage, and management tools to ensure interoperability
and minimize deployment complexity.
● Other factors to consider include vendor support and ecosystem, security features, licensing
costs, and community support. By carefully evaluating these considerations, organizations can
select the hypervisor that best meets their performance, management, and compatibility
requirements for cloud deployments.
19. How do Type 1 hypervisors enhance security in cloud environments compared to Type 2
hypervisors?
● Type 1 hypervisors enhance security in cloud environments compared to Type 2 hypervisors by
running directly on bare-metal hardware, reducing the attack surface and improving isolation
between virtual machines (VMs). Type 1 hypervisors, also known as bare-metal hypervisors,
are installed directly on the physical hardware of the host system, without the need for a
separate operating system. This architecture eliminates the security risks associated with a host
operating system, such as vulnerabilities, malware, and unauthorized access.
● By operating at a lower level of the software stack, Type 1 hypervisors provide a more secure
foundation for virtualization, isolating VMs from each other and the underlying hardware. In
contrast, Type 2 hypervisors run atop a host operating system, sharing resources and
dependencies with other applications and services running on the host. This introduces
additional complexity and potential security vulnerabilities, as the hypervisor relies on the
security mechanisms of the host operating system for protection.
● Furthermore, Type 1 hypervisors typically offer advanced security features such as secure boot,
encrypted VMs, hardware-assisted security, and hypervisor introspection, further enhancing
security in cloud environments. By leveraging Type 1 hypervisors, organizations can reduce
security risks, improve isolation, and strengthen the overall security posture of their cloud
infrastructure.
20. Explain one scenario where paravirtualization might be preferred over full virtualization.
● Paravirtualization might be preferred over full virtualization in scenarios where performance is
critical, such as high-performance computing (HPC) environments, due to its lower overhead
and improved efficiency. HPC applications often require low-latency communication and high
throughput between virtual machines (VMs) and physical hardware resources to achieve
optimal performance. In full virtualization, the hypervisor must emulate hardware instructions
and translate them into equivalent operations on the underlying physical hardware, introducing
overhead and impacting performance.
● This emulation overhead can hinder the performance of HPC workloads, particularly those that
rely heavily on CPU, memory, or network resources. Paravirtualization addresses this challenge
by modifying the guest operating system to communicate directly with the hypervisor and
leverage virtualization-aware interfaces. By bypassing the need for hardware emulation,
paravirtualization reduces latency, improves throughput, and minimizes CPU overhead,
resulting in better performance for HPC workloads.
● Additionally, paravirtualization allows for more efficient resource sharing and allocation,
further enhancing performance and scalability in HPC environments.
● Therefore, in scenarios where performance is a primary consideration, such as HPC workloads,
paravirtualization offers significant advantages over full virtualization, enabling organizations
to achieve optimal performance and efficiency in their cloud deployments.
PART B
Virtualization is widely used in various IT environments, including data centers, cloud computing and
enterprise environments, due to its numerous benefits that can help organizations achieve cost savings,
simplify administration, enable fast deployment and reduce infrastructure costs.
Here are some key aspects of how virtualization addresses these needs:
● Cost savings: Virtualization can lead to significant cost savings by optimizing the utilization of
hardware resources. By creating multiple Virtual Machines (VMs) on a single physical server,
organizations can reduce the number of physical servers needed, resulting in lower hardware
acquisition costs, reduced power consumption and decreased data center space requirements.
Additionally, virtualization enables organizations to consolidate their workloads onto a smaller number
of servers, which can reduce operational costs, such as maintenance, licensing and support for hardware
and software.
● Infrastructure cost reduction: Virtualization can help organizations reduce their infrastructure costs
by optimizing the utilization of existing hardware resources. By consolidating workloads onto a smaller
number of physical servers, organizations can reduce their hardware procurement costs and lower
ongoing operational costs, such as power consumption and data center space. Virtualization also
enables organizations to dynamically allocate and reallocate resources based on demand, which can
help optimize resource utilization and reduce waste, leading to further cost savings.
● Increased flexibility: Virtualization provides flexibility in terms of resource allocation and usage.
Organizations can allocate resources, such as CPU, memory, storage and networking, to VMs based on
their requirements and easily adjust these allocations as needed. This enables organizations to
dynamically scale resources up or down based on workload demands, providing flexibility and agility
in adapting to changing business needs.
● Hardware Independence: Virtual machines are not tied to specific physical hardware, allowing
them to be easily migrated or replicated across different servers. This flexibility enables workload
balancing, disaster recovery, and efficient resource allocation.
● High Availability: Virtualization platforms often include features for high availability, such as live
migration and automatic failover. These features ensure that VMs can be moved between physical hosts
with minimal downtime, maximizing uptime for critical applications.
Types of Virtualization
● Application Virtualization
● Network Virtualization
● Desktop Virtualization
● Storage Virtualization
● Server Virtualization
● Data virtualization
1. Application Virtualization:
Application virtualization helps a user to have remote access to an application from a server.
The server stores all personal information and other characteristics of the application but can still run
on a local workstation through the internet. An example of this would be a user who needs to run two
different versions of the same software. Technologies that use application virtualization are hosted
applications and packaged applications.
2. Network Virtualization:
The ability to run multiple virtual networks with each having a separate control and data plan. It
co-exists together on top of one physical network. It can be managed by individual parties that are
potentially confidential to each other. Network virtualization provides a facility to create and provision
virtual networks, logical switches, routers, firewalls, load balancers, Virtual Private Networks (VPN),
and workload security within days or even weeks.
3. Desktop Virtualization:
Desktop virtualization allows the users’ OS to be remotely stored on a server in the data center.
It allows the user to access their desktop virtually, from any location by a different machine. Users who
want specific operating systems other than Windows Server will need to have a virtual desktop. The
main benefits of desktop virtualization are user mobility, portability, and easy management of software
installation, updates, and patches.
4. Storage Virtualization:
Storage virtualization is an array of servers that are managed by a virtual storage system. The
servers aren’t aware of exactly where their data is stored and instead function more like worker bees in
a hive. It makes managing storage from multiple sources be managed and utilized as a single
repository. storage virtualization software maintains smooth operations, consistent performance, and a
continuous suite of advanced functions despite changes, breaks down, and differences in the underlying
equipment.
5. Server Virtualization:
This is a kind of virtualization in which the masking of server resources takes place. Here, the
central server (physical server) is divided into multiple different virtual servers by changing the identity
number, and processors. So, each system can operate its operating systems in an isolated manner.
Where each sub-server knows the identity of the central server. It causes an increase in performance
and reduces the operating cost by the deployment of main server resources into a sub-server resource.
It’s beneficial in virtual migration, reducing energy consumption, reducing infrastructural costs, etc.
6. Data Virtualization:
This is the kind of virtualization in which the data is collected from various sources and
managed at a single place without knowing more about the technical information like how data is
collected, stored & formatted then arranged that data logically so that its virtual view can be accessed
by its interested people and stakeholders, and users through the various cloud services remotely. Many
big giant companies are providing their services like Oracle, IBM, At scale, Cdata, etc.
Uses of Virtualization
● Data-integration
● Business-integration
Virtualization is a technology that allows for the creation of virtual instances or representations of
physical resources, such as servers, storage devices an networks, usin specialized software called a
hypervisor or Virtual Machine Monitor (VMM). These virtual instances can then be used to run
multiple operating systems, applications or services, independently and concurrently, on a single
physical host machine.
Host machine:
The machine on which the virtual machine is going to be built is known as Host Machine.
Guest machine:
Virtualization plays a crucial role in cloud computing as it allows users to share infrastructure in the
cloud, leading to cost savings. In a cloud computing environment, users store their data in the cloud and
virtualization enables them to utilize shared physical resources. Cloud vendors manage the physical
infrastructure and charge users for their services. However, virtualization enables users or organizations
to maintain their require services through external third-party providers, reducing costs. This is how
virtualization contributes to the functioning of Cloud Computing."
Characteristics of virtualization:
1. Enhanced security: Virtualization enables the transparent control of guest program execution,
opening up new possibilities for a secure and controlled execution environment. Guest program
operations are typically performed against the virtual machine, which then translates and applies
them to the host programs.
2. Managed execution: Virtualization offers various features, including sharing, aggregation,
emulation and isolation.
3. Sharing: Virtualization allows for the creation of separate computing environments within the
same host.
4. Aggregation: Virtualization permits the sharing of physical resources among multiple guests
and it also facilitates aggregation, which is the opposite process.
Benefits of Virtualization:
Cloud computing is a model for delivering computing resources and services over the internet, enabling
on-demand access to a shared pool of resources, including computing power, storage, and applications.
Cloud computing allows users to rent or subscribe to these resources and services, which are provided
by cloud service providers, rather than building and maintaining local IT infrastructure.
1. Infrastructure as a Service (IaaS) : IaaS provides virtualized computing resources over the
internet, including virtual machines, storage and networking capabilities. Users can provision and
manage these resources remotely, allowing for flexibility in scaling up or down based on demand.
Examples of IaaS providers include Amazon Web Services (AWS), Microsoft Azure and Google
Cloud Platform (GCP).
2. Platform as a Service (PaaS) : PaaS provides a platform or framework for users to develop, run and
manage their applications, without having to worry about the underlying infrastructure. PaaS offerings
typically include tools, libraries and services for application development, databases and middleware.
Examples of PaaS providers include Heroku, Microsoft Azure App Service and Google App Engine.
3. Software as a Service (SaaS) : SaaS provides fully functional applications that are accessible over
the internet, allowing users to access and use software applications without having to install or manage
them locally. SaaS offerings cover a wide range of applications, including Customer Relationship
Management (CRM), Enterprise Resource Planning (ERP) and productivity tools, such as email and
collaboration software.
Examples of SaaS providers include Salesforce, Microsoft Office 365 and GoogleWorkspace.
● Scalability and elasticity: Cloud computing allows for easy scalability of resources, allowing
users to quickly provision or release resources based on their needs. This enables businesses to
scale their IT infrastructure up or down rapidly in response to changing demands, without
having to invest in and manage local hardware.
● Cost-effectiveness: Cloud computing follows a pay-as-you-go model, where users only pay for
the resources and services they use, without upfront costs for hardware or infrastructure. This
allows for cost-effective usage of resources, as users can optimize their spending based on
actual usage.
● Flexibility and mobility: Cloud computing provides users with the flexibility to access resources
and services from anywhere, using any device with internet access. This enables remote work,
collaboration and mobility, allowing users to work and access resources on the go.
● Rapid provisioning and deployment: Cloud computing allows for rapid provisioning and
deployment of resources and applications, reducing the time required to set up and configure IT
infrastructure. This enables faster time to market for applications and services.
● Managed services: Cloud computing providers typically offer managed services, such as
automated backups, security and monitoring, reducing the operational burden on users and
allowing them to focus on their core business rather than IT infrastructure management.
● Global availability: Cloud computing services are typically available in multiple regions and
data centers globally, allowing users to deploy resources and services in different geographical
locations for improved performance, reliability and data redundancy.
4.What are the main limitations of virtualization in cloud computing? Give examples.
1.Performance Overhead:
Virtualization introduces an additional layer of software (the hypervisor) between the hardware and the
operating system, which can lead to increased overhead in resource utilization and communication
between components.
Example: A company virtualizes its servers to consolidate hardware resources and improve efficiency.
However, they notice that the applications running on virtual machines experience slower response
times compared to when they were running directly on physical servers. This slowdown is due to the
overhead introduced by the virtualization layer, which abstracts the hardware resources and can lead to
decreased performance.
2.Security Risks:
Virtualized environments share physical resources, and if proper isolation and security measures are not
in place, vulnerabilities in the hypervisor or misconfigurations can be exploited by malicious actors to
gain unauthorized access to virtual machines or launch attacks on other VMs.
Example: A cloud service provider offers virtualized infrastructure to multiple clients. If the
hypervisor managing the virtual machines has vulnerabilities or lacks proper security configurations,
malicious actors could exploit these weaknesses to gain unauthorized access to the virtualized
environment. Without proper isolation between virtual machines, a compromised VM could potentially
launch attacks on other VMs running on the same host.
3.Scalability Issues:
Virtualized environments may struggle to scale effectively to handle increased workloads due to
limitations in resource allocation, performance bottlenecks, or architectural constraints.
Example: A growing e-commerce website initially opts for virtualization to accommodate increasing
traffic demands. However, as the website's popularity surges, the virtualized environment struggles to
scale effectively to handle the additional workload. This scalability challenge leads to performance
degradation and resource contention, impacting the website's ability to serve its customers efficiently.
4.Operational Complexity:
Managing a virtualized infrastructure requires specialized skills and tools beyond traditional server
management, as it involves deploying, monitoring, and troubleshooting various aspects of the
virtualized environment, including hypervisors, virtual machines, and networking and storage
components.
5.Resource Utilization:
Inefficient resource allocation can lead to resource contention, where multiple virtual machines
compete for the same physical resources, resulting in degraded performance or downtime. Additionally,
over-provisioning virtual machines with more resources than they actually need can lead to inefficient
resource utilization and increased infrastructure costs.
Example: A data center virtualizes its servers but fails to properly allocate resources to the virtual
machines. As a result, some VMs experience resource contention, leading to degraded performance or
downtime. Additionally, if VMs are provisioned with more resources than they actually need, it can
lead to inefficient resource utilization and increased infrastructure costs.
5.What are the main benefits of paravirtualization over other virtualization techniques, and in
what scenarios is it most suitable?
Paravirtualization offers several benefits over other virtualization techniques, such as full virtualization
or partial virtualization:
● Improved Performance: Paravirtualization typically results in better performance compared to
full virtualization because it allows guest operating systems to interact directly with the
hypervisor, bypassing the emulation layer. This direct communication reduces overhead and
improves overall system performance.
● Lower Resource Overhead: Since paravirtualization does not rely on full hardware emulation,
it requires fewer computational resources, such as CPU cycles and memory, leading to more
efficient resource utilization.
● Enhanced Scalability: Paravirtualization is often more scalable than full virtualization because
it enables better resource allocation and management, allowing for more virtual machines to be
hosted on a single physical server without significant performance degradation.
● Greater Security: By allowing the guest operating system to communicate directly with the
hypervisor, paravirtualization can enhance security by providing more control over the
virtualized environment and reducing the attack surface compared to full virtualization.
● Compatibility with Older Hardware: Paravirtualization can be a suitable option for legacy
systems or hardware that lack virtualization extensions, as it does not require hardware-assisted
virtualization support. This makes it easier to virtualize older hardware platforms.
Full virtualization working and how it differs from other types of hardware virtualization:
● Hypervisor Layer: In full virtualization, the hypervisor sits between the physical hardware and
the guest OSes. It abstracts and virtualizes the underlying hardware resources, such as CPU,
memory, storage, and network interfaces, and manages the allocation of these resources to the
guest OSes.
● Complete Isolation: Each guest OS runs in its own virtualized environment, providing
complete isolation from other VMs. This isolation ensures that activities and processes in one
VM do not affect the stability or security of other VMs sharing the same physical hardware.
● Emulation of Hardware: One of the key characteristics of full virtualization is the emulation
of hardware components. The hypervisor provides virtual hardware interfaces that mimic the
behavior of physical hardware devices, allowing guest OSes to run unmodified. This emulation
enables guest OSes to interact with the virtualized hardware as if they were running on
dedicated physical machines.
● Hardware Independence: Full virtualization does not require specific hardware features or
extensions, making it compatible with a wide range of hardware platforms. It enables
organizations to virtualize legacy systems or run different operating systems on the same
physical hardware without modification.
● Performance Overhead: Compared to other types of hardware virtualization, full virtualization
typically incurs higher performance overhead due to the emulation of hardware components.
The hypervisor must translate instructions and manage I/O operations between the guest OS and
the underlying physical hardware, leading to some performance degradation.
Examples: Popular hypervisors that support full virtualization include VMware ESXi, Microsoft
Hyper-V, and KVM (Kernel-based Virtual Machine). These hypervisors provide robust virtualization
capabilities for hosting multiple VMs on a single physical server while ensuring isolation, flexibility,
and management features.
7.What are the different types of hypervisors used in virtualization, and how do they differ in
terms of architecture, performance, and compatibility?
There are primarily two types of hypervisors used in virtualization: Type 1 (bare-metal) hypervisors
and Type 2 (hosted) hypervisors. They differ in their architecture, performance, and compatibility:
● Architecture: Type 1 hypervisors run directly on the physical hardware without the need for a
separate operating system. They have direct access to hardware resources and manage the
virtualization layer independently.
● Performance: Type 1 hypervisors typically offer better performance compared to Type 2
hypervisors because they operate closer to the hardware, resulting in lower overhead and
reduced latency.
● Compatibility: Type 1 hypervisors are compatible with a wide range of hardware platforms and
can support various guest operating systems. They are commonly used in enterprise
environments and data centers where performance and scalability are critical.
● Examples: VMware vSphere/ESXi, Microsoft Hyper-V, KVM (Kernel-based Virtual Machine),
Xen.
● Architecture: Type 2 hypervisors run on top of a host operating system, utilizing its resources
for virtualization. They act as applications within the host OS and rely on its services for
hardware access and management.
● Performance: Type 2 hypervisors generally have higher overhead and reduced performance
compared to Type 1 hypervisors because they operate within the context of the host OS, adding
an additional layer of abstraction.
● Compatibility: Type 2 hypervisors are compatible with a wide range of desktop and
workstation operating systems, making them suitable for development, testing, and desktop
virtualization scenarios.
● Examples: Oracle VirtualBox, VMware Workstation, Parallels Desktop.
In terms of performance and architecture, Type 1 hypervisors are generally preferred for production
environments and enterprise use cases where performance, scalability, and isolation are critical. They
offer direct hardware access and better resource management capabilities.
On the other hand, Type 2 hypervisors are commonly used for desktop virtualization, development, and
testing purposes. They are easier to set up and use, making them suitable for individual users or
small-scale virtualization needs. However, they may not provide the same level of performance and
scalability as Type 1 hypervisors due to their dependency on the host operating system.
PART C
1.Analyze the critical role of virtualization within the context of cloud computing.
Virtualization in cloud computing environments has become an increasingly popular option for
businesses. There are many benefits of virtualization in a cloud environment.
● Virtualization uses software to create a virtual system that mimics hardware functionality. This
process allows IT organizations to run multiple virtual systems—as well as multiple operating
systems and applications—on a single server.
● Virtual machines (VMs) are software containers with an operating system and application
inside. When multiple VMs run on one computer, more than one operating system and
application can run on the same server or host. A hypervisor decouples VMs from the host and
dynamically assigns computing resources to each.
Hardware virtualization
● Hardware virtualization installs a hypervisor or virtual machine manager (VMM), which creates
an abstraction layer between the software and the underlying hardware. Once a hypervisor is in
place, software relies on virtual representations of the computing components, such as virtual
processors rather than physical processors. Popular hypervisors include VMware's vSphere,
based on ESXi, and Microsoft's Hyper-V.
● Virtualized computing resources are provisioned into isolated instances called VMs, where
OSes and applications can be installed. Virtualized systems can host multiple VMs
simultaneously, but every VM is logically isolated from every other VM. This means a malware
attack or a crash of one VM won't affect the other VMs. Support for multiple VMs vastly
increases the system's utilization and efficiency.
● For example, rather than buying 10 separate servers to host 10 physical applications, a single
virtualized server could potentially host those same 10 applications installed on 10 VMs on the
same system. This improved hardware utilization is a major benefit of virtualization and
supports enormous potential for system consolidation, reducing the number of servers and
power use in enterprise data centers
Virtualization architecture
● Multiple types of hardware virtualization exist, with processes including full virtualization,
paravirtualization and hardware-assisted virtualization.
Full virtualization
● Fully simulates the hardware to enable a guest OS to run in an isolated instance. In a fully
virtualized instance, an application would run on top of a guest OS, which would operate on top
of the hypervisor and finally the host OS and hardware. Full virtualization creates an
environment similar to an OS operating on an individual server. Utilizing full virtualization
enables administrators to run a virtual environment unchanged to its physical counterpart. For
example, the full virtualization approach was used for IBM's CP-40 and CP-67.
● Other examples of fully virtualized systems include Oracle VM and ESXi. Full virtualization
enables administrators to combine both existing and new systems; however, each feature that
the hardware has must also appear in each VM for the process to be considered full
virtualization. This means, to integrate older systems, hardware must be upgraded to match
newer systems.
Paravirtualization
● Runs a modified and recompiled version of the guest OSes in a VM. This modification enables
the VM to differ somewhat from the hardware. The hardware isn't necessarily simulated in
paravirtualization but uses an application program interface (API) that can modify guest
● OSes. To modify the guest OS, the source code for the guest OS must be accessible to replace
portions of code with customizable instructions, such as calls to VMM APIs. The OS is then
recompiled to use the new modifications.
● The hypervisor then provided commands sent from the OS to the hypervisor, called hypercalls.
These are used for kernel operations, such as management of memory. Paravirtualization can
improve performance by decreasing the amount of VMM calls; however, paravirtualization
requires the modification of the OS, which also creates a large dependency between the OS and
hypervisor that could potentially limit further updates. For example, Xen is a product that can
aid in paravirtualization.
● Hardware-assisted virtualization: Uses a computer's hardware as architectural support to build
and manage a fully virtualized VM. Hardware-assisted virtualization was first introduced by
IBM in 1972 with IBM System/370. Creating a VMM in software imposed significant overhead
on the host system.
● Designers soon realized that virtualization functions could be implemented far more efficiently
in hardware rather than software, driving the development of extended command sets for Intel
and AMD processors, such as Intel VT and AMD-V extensions.
● So, the hypervisor can simply make calls to the processor, which then does the heavy lifting of
creating and maintaining VMs. System overhead is significantly reduced, enabling the host
system to host more VMs and provide greater VM performance for more demanding workloads.
Hardware-assisted virtualization is the most common form of virtualization.
● Vendors and products for hardware virtualization include VMware ESXi, Microsoft Hyper-V
and Xen.
Hypervisor
● A hypervisor is computer software or hardware that enables you to host multiple virtual
machines. Each virtual machine is able to run its own programs. A hypervisor allows you to
access several virtual machines that are all working optimally on a single piece of computer
hardware.
● For the most part, cloud computing entails you being able to access a virtual machine for you to
be able to do what you need to do anywhere. A hypervisor manages these virtual machines.
● With a hypervisor, each virtual machine or operating system you have will be able to run its
own programs, as it will appear that the system has the host hardware's processor, memory and
resources. In reality, however, it is actually the hypervisor that is allocating those resources to
the virtual machines.
● You may think that the hypervisor is a fairly recent phenomenon. The first hypervisors were
introduced in the 1960s to allow for different operating systems on a single mainframe
computer. However, its current popularity is largely due to Linux and Unix. Around 2005,
Linux and Unix systems started using virtualization technology to expand hardware capabilities,
control costs, and improved reliability and security that hypervisors provided to these systems.
● Now, hypervisors are fundamental components of any virtualization effort. You can think of it
as the operating system for virtualized systems. It can access all physical devices residing on a
server. It can also access the memory and disk. It can control all aspects and parts of a virtual
machine.
TYPES OF HYPERVISORS:
A hypervisor is a software that you can use to run multiple virtual machines on a single physical
machine. Every virtual machine has its own operating system and applications. The hypervisor
allocates the underlying physical computing resources such as CPU and memory to individual virtual
machines as required.
Type 1 hypervisors
A Type 1 hypervisor runs directly on the host machine's physical hardware, and it's referred to as a
bare-metal hypervisor. The Type 1 hypervisor doesn't have to load an underlying OS. With direct
access to the underlying hardware and no other software -- such as OSes and device drivers -- to
contend with for virtualization, Type 1 hypervisors are regarded as the most efficient and
best-performing hypervisors available for enterprise computing. In fact, Type 1 hypervisors are often
referred to as the virtualization or virtual operating system. Hypervisors that run directly on physical
hardware are also highly secure. Virtualization mitigates the risk of attacks that target security flaws
and vulnerabilities in OSes because each guest has its own OS. This ensures an attack on a guest VM is
logically isolated to that VM and can't spread to others running on the same hardware.
Type 1 hypervisors have long been preferred and are the de facto standard for enterprise-class
virtualization. The ability to create VMs of almost any size and configuration makes bare metal VMs
well-suited for hosting large and complex enterprise workloads. The close connection established
between the VM and the underlying hardware allows excellent performance, especially once
virtualization command sets were added to modern microprocessors.
The Type 1 hypervisor provides several key benefits for the enterprise:
● Scalability. The typical Type 1 hypervisor can scale to virtualize workloads across
several terabytes of RAM and hundreds of CPU cores.
● Advanced features. In addition, Type 1 hypervisors often provide support for
software-defined storage and networking, which creates additional security and
portability for virtualized workloads. However, such features come with a much higher
initial cost and greater support contract requirements.
● Strong management. The typical Type 1 hypervisor requires some level of external
management -- with interfaces such as Microsoft System Center Virtual Machine
Manager or VMware vCenter -- to access the full scope of the hypervisor's abilities.
● Foundation for the cloud. Virtualization, and Type 1 hypervisors in particular, played
an enormous role in enabling cloud computing technologies. The ability to provision,
deploy and manage virtual environments on-demand through software was a pivotal
characteristic for computing efficiency and the key to software-based, on-demand,
user-driven capabilities that are endemic to successful cloud computing. There can be no
cloud without virtualization and its related hypervisors.
Type 2 hypervisors
A Type 2 hypervisor is typically installed on top of an existing host OS. It is sometimes called a hosted
hypervisor because it relies on the host machine's preexisting OS to manage calls to CPU, memory,
storage and network resources.Type 2 hypervisors trace their roots back to the early days of x86
virtualization when the hypervisor was added above the existing systems' OSes. Although the purpose
and goals of Type 1 and Type 2 hypervisors are identical, the presence of an underlying OS with Type 2
hypervisors introduces unavoidable latency. All the hypervisor's activities and the work of every VM
must pass through a single common host OS. Any security flaws or vulnerabilities in the host OS could
also potentially compromise all of the VMs running above it.
The traditional limitations of a Type 2 hypervisor have limited its use to client or end-user systems, or
experimental environments where performance and security were lesser concerns than a full production
environment. For example, software developers might use a Type 2 hypervisor to create VMs to test a
software product prior to release. Similarly, Type 2 hypervisors have seen significant use in smaller
high-volume virtual instances, and IT organizations typically use Type 2 hypervisors to create virtual
desktops common in VDI deployments.Still, Type 2 hypervisors have seen a strong surge in popularity
because of several attractive benefits:
● Small and fast. Type 2 hypervisors don't need individual operating systems like Type 1
VMs. This results in simpler and smaller logical entities that use far fewer resources, are
faster to create, and are easier to migrate or manipulate.
● Highly scalable. Because a Type 2 VM can use far fewer computer resources than a
Type 1 VM, a computer can potentially host many more Type 2 VMs than Type 1 VMs.
● Foundation for containers. The concept of Type 2 hypervisors is core to the emergence
of virtualized containers. Containers use specialized Type 2 hypervisors called container
engines, such as Docker or Apache Mesos, which let containers share a common OS.
Container technology has spawned a new and highly efficient type of application
architecture called microservices.
● Foundation for cloud. Most public cloud providers offer native services that directly
support the creation and management of virtual containers alongside traditional Type 1
VMs.