In computing, a hypervisor is a virtualization platform that allows multiple operating systems to run on a host computer at the same time. The term usually refers to an implementation using full virtualization.
Types of Virtual Machines and their Implementations
• In computing, a hypervisor is a
virtualization platform that allows multiple operating systems to run on a host
computer at the same time. The term usually refers to an implementation using
full virtualization.
• A hypervisor is a software layer
installed on the physical hardware, which allows splitting the physical machine
into many virtual machines. This allows multiple and operating systems to be
run simultaneously on the same physical hardware.
• The operating system installed on the virtual machine is
called a guest OS, and is sometimes also called an instance. The hardware the
hypervisor runs on is called the host machine.
•
A hypervisor management console,
which is also called a virtual machine manager (VMM), is computer software that
enables easy management of virtual machines.
• Hypervisors are currently classified in two types: type 1
and type 2.
Fig. 7.4.1 shows type 0 hypervisor.
•
Type 0 hypervisor is built with the
minimum software components required to fully virtualize guest OSS and control
information flow between guest OSs. Type 0 hypervisors is a hardware-based
solutions that provide support for virtual machine creation and management via
firmware.
•
The VMM itself is encoded in the firmware and loaded at boot time. Guest image
site is loaded in each partition. "Partitions" and "domains"
are other names of type 0 Hypervisor.
•
The feature set of a type 0 hypervisor tends to be smaller than those of the
other types because it is implemented in hardware. For example, a system might
be split into five virtual systems, each with dedicated CPUs, memory and I/O
devices.
•
If I/O device are less, then they are not allocate to guest. Sometimes VMM
implements a control partition running daemons that other guests communicate
with for shared I/O.
•
Type 1 hypervisor is software that runs directly on a given hardware platform.
A "guest" operating system thus runs at the second level above the
hardware.
• Type 1 VMs have no host operating
system because they are installed on a bare system. An operating system running
on a Type 1 VM is a full virtualization because it is a complete simulation of
the hardware that it is running on.
• Type 1 hypervisor is also called a
native or bare-metal hypervisor that is installed directly on the hardware,
which splits the hardware into several virtual machines where we can install
guest operating systems.
• Virtual machine management software
helps to manage this hypervisor, which allows guest OSes to be moved automatically
between physical servers based on current resources requirements.
•
It is completely independent from the operating system.
•
The hypervisor is small as its main task is sharing resources between different
operating systems.
• A major advantage is that any problems in one virtual
machine or guest operating system do not affect the other guest operating
systems running on the hypervisor.
•
This is also known as
Hosted Hypervisor.
• In this case, the hypervisor is
installed on an operating system and then supports to other operating systems
above it.
•
It is completely dependent on host operating system for its operations. Fig.
7.4.2 shows type 2 hypervisor. (See Fig. 7.4.2 on next page.)
•
While having a base operating system allows better specification of policies,
any problems in the base operating system affects the entire system as well
even if the hypervisor running above the base OS is secure.
•
Type 2 hypervisors don't support over/dynamic allocation of RAM, so care is required
when allocating resources to virtual machines.
•
This is why we call type 2 hypervisors hosted hypervisors. As opposed to type 1
hypervisors that run directly on the hardware, hosted hypervisors have one
software layer underneath. What we have in this case is:
1.
A physical machine.
2. An operating system installed on the
hardware (Windows, Linux, MacOS).
3. A type 2 hypervisor software within
that operating system.
4.
The actual instances of guest virtual machines.
•
Type 2 hypervisors are typically found in environments with a small number of servers. Type 2 hypervisors are convenient for
testing new software and research br projects.
Paravirtualization
• Paravirtualization is a type of
virtualization in which guest operating system (OS) is recompiled, installed
inside a Virtual Machine (VM), and operated on top of a hypervisor program
running on the host OS.
• Para-virtualization refers to
communication between the guest OS and the hypervisor to improve performance
and efficiency.
• Para-virtualization involves modifying
the OS kernel to replace non-virtualizable instructions with hyper-calls that
communicate directly with the virtualization Jeaug layer hypervisor.
•
The
hypervisor also provides hyper-call interfaces for other critical kernel
operations such as memory management, interrupt handling and time keeping.
•
Fig.
7.4.3 shows para-virtualization architecture.
• In Para-virtualization, the virtual
machine does not necessarily simulate hardware, but instead offers a special
API that can only be used by modifying the "guest" OS. This system
call to the hypervisor is called a "hypercall" in Xen.
• Xen is an open source
para-virtualization solution that requires modifications to the guest operating
systems but achieves near native performance by collaborating with the
hypervisor.
• Microsoft Virtual PC is a
para-virtualization virtual machine approach. User-mode Linux (UML) is another
para-virtualization solution that is open source.
•
Each
guest operating system executes as a process of the host operating system.
Cooperative Linux, is a virtualization solution that allows two operating
systems to cooperatively share the underlying hardware.
• Linux-V server is an operating
system-level virtualization solution for GNU/Linux systems with secure
isolation of independent guest servers.
• The Linux KVM is virtualization
technology that has been integrated into the mainline Linux kernel. Runs as a
single kernel loadable module, a Linux kernel running on virtualization-capable
hardware is able to act as a hypervisor and support unmodified Linux and
Windows guest operating systems.
•
Para-virtualization
shares the process with the guest operating system.
Problems
with para-virtualization
1. Para-virtualized systems won't run on
native hardware.
2. There are many different
para-virtualization systems that use different I commands, etc.
• The main difference between full
virtualization and paravirtualization in Cloud is that full virtualization
allows multiple guest operating systems to execute on a host operating system
independently while paravirtualization allows multiple guest operating systems
to run on host operating systems while communicating.
Introduction to Operating Systems: Unit V: Virtual Machines and Mobile OS : Tag: : Virtual Machines and Mobile OS - Introduction to Operating Systems - Types of Virtual Machines and their Implementations
Introduction to Operating Systems
CS3451 4th Semester CSE Dept | 2021 Regulation | 4th Semester CSE Dept 2021 Regulation