Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 9

IMPLEMENTATION OF

VIRTUAL MACHINES
MONITORS
BY GROUP_4_DAY
What is a Virtual Machine monitor?
• A Virtual Machine Monitor (VMM) is a software program that enables the
creation, management, and governance of virtual machines (VM) and
manages the operation of a virtualized environment on top of a physical
host machine.
• Hypervisors let a single piece of hardware, called a host be able to support
multiple virtual machines, named guests by virtually sharing its memory,
storage, and processing resources.
• Virtual Machine Monitors facilitate the creation of virtual machines each
with a different host OS.
• They also organize the background process of these virtual machines by
allocating the necessary resources i.e. memory, storage, I/O etc.
TYPE 0 HYPERVISOR
• Type 0 hypervisors have existed for many years under many names, including
“partitions” and “domains.”
• They are a hardware feature and is encoded in the firmware and loaded at
boot time.
• Each guest believes that it has dedicated hardware and it does.
• I/O presents some difficulty, because it is not easy to dedicate I/O devices to
guests.
• There is also a concept of control partition.
• Guests can also be paravirtualised.
TYPE-ONE HYPERVISORS
• They are mostly used in data centres.
• They work closely with the hardware, though not performing functions like
system calls.
• Can run on type-zero hypervisors but not other type-one hypervisors
• Guest OS are abstracted to think they are running on the native hardware.
• They run in kernel mode.
• If host CPU allows, it can allow for running of multiple modes
• Advantages include consolidation of multiple OS and apps onto fewer
systems and use of snapshots to save states of the guest OS.
• However, it comes with increased complexity and there is need to learn new
management tools and methods.
TYPE 2 HYPERVISORS.
• Type 2 hypervisors basically provide VMM features to guest operating systems.
• This VMM is simply another process run and managed by the host though even the host
does not know that virtualization is happening within this VMM.
• In type 2 hypervisors a user needs administrative privileges to access many hardware
assistance features of modern CPUs unlike in the type 1.
Advantage
• They run on a variety of general purpose operating system and running them requires no
changes to the operating system.
Disadvantage
• Users need administrative privileges to access the hardware assistance features and due
to this, this makes type 2 hypervisors to have an overall poor performance than type 0
and type 1
PARAVIRTUALIZATION
• Paravirtualization is a virtualization technique that provides an
interface to virtual machines that are similar to their underlying
hardware.
• It is mostly used by XEN VMM.
• Paravirtualization provides more efficient use of resources and a
smaller virtualization layer.
• There is also the use of hypercalls that are similar to system calls
though the guest OS asks for the hypervisor in this case.
EMULATION
This is the idea where applications written for one hardware component to run on a very different hardware
environment
For example; a different CPU
But what if an application or operating system needs to run on a different CPU? Here, it is necessary to
translate all of the source CPU’s instructions so that they are turned into the equivalent instructions of the
target CPU. Such an environment is no longer virtualized but rather is fully emulated.
Advantages
Increases life of programs
Helps to explore old architecture without an old machine

Disadvantages
Much slower in executing old programs
Difficult to create an emulator
PROGRAMMING-ENVIRONMENT
VIRTUALIZATION
Here VMMs do not virtualize real hardware but instead create an
optimized virtual system.
A programming language is designed to run within a custom-built
virtualized environment.
The virtual environment, based on APIs , provides a set of features we
want to have available for a particular language and programs written
in that language.
An example is the Java virtual machine (JVM). Java programs run
within the JVM environment, and the JVM is compiled to be a native
program on systems on which it runs.
APPLICATION CONTAINMENT
If all the applications are compiled for the same operating system, then we do not need
complete virtualization to provide the features. We use Application containment.
While using this system, the operating system and its devices are virtualized providing
processes within the zone with the illusion that they are the only processes on the system.
This system is used because it is lighter than other virtualization methods in that it uses
fewer system resources, it is faster to instantiate and destroy and more similar to
processes than virtual machines.
Containers are also easy to automate and manage leading to the use of tools like docker
and kubernetes. These aim to make it simple to run entire suites of distributed
applications like a regular operating system running a single program and offer
deployment of full applications that consist of many processes within containers and also
offer monitoring and other administration features.

You might also like