0% found this document useful (0 votes)
308 views7 pages

Virtual Machine (VM) : Assignment On

The document discusses virtual machines (VMs), including: - A VM is a virtual environment that acts like a separate computer within a host computer, allowing operating systems and applications to run in isolation. - Key components include the host computer, a virtual machine manager (VMM) or hypervisor that creates and manages VMs, and guest operating systems that run within VMs. - VMs provide benefits like cost savings, agility, scalability, and security by isolating workloads from each other and the physical host.

Uploaded by

Md Furquan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
308 views7 pages

Virtual Machine (VM) : Assignment On

The document discusses virtual machines (VMs), including: - A VM is a virtual environment that acts like a separate computer within a host computer, allowing operating systems and applications to run in isolation. - Key components include the host computer, a virtual machine manager (VMM) or hypervisor that creates and manages VMs, and guest operating systems that run within VMs. - VMs provide benefits like cost savings, agility, scalability, and security by isolating workloads from each other and the physical host.

Uploaded by

Md Furquan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

1|Page

Virtual Machine (VM)

Assignment On:
Course Code: CSE-3632
Course Title: Operating System Sessional
Assignment: No. (1)

Submitted To:
Instructor: Mr. Shaikh Shariful Habib
Designation: Assistant Professor
Department: CSE, IIUC

Submitted by:
Name: Md Furquan
ID: C183055
Semester: 6th
Section: 6BM
Department: CSE, IIUC

Contents:
1. Overview
2. History
3. Benefits
4. Disadvantage
5. Types of Virtual Machine
6. Application

Submitted by: Md Furquan (C183055)


2|Page

Overview of Virtual Machine


Fundamental Idea:
✓ A virtual machine (VM) is a virtual environment that works like a computer within a
computer.
✓ It runs on an isolated partition of its host computer with its own resources of CPU power,
memory, an operating system (e.g., Windows, Linux, macOS), and other resources.
✓ This allows end-users to run applications on VMs and use them as they normally would on
their workstation.
✓ Abstract hardware of a single computer into several different execution environments
✓ Similar to layered approach
✓ But layer creates virtual system (Virtual machine or VM) on which operating systems or
applications can run
Several Components
✓ Host: underlying hardware system
✓ Virtual machine manager (VMM)or Hypervisor: Creates and runs virtual machine by
providing interface that is identical to the host except in case of paravirtualization
✓ Guest: Process provided with virtual copy of the host (Usually, an operating system)
Implementation of VMMs
✓ Type 0 hypervisors - Hardware-based solutions that provide support for virtual machine
creation and management via firmware
✓ Type 1 hypervisors - Operating-system-like software built to provide virtualization
✓ Type 1 hypervisors – Also includes general-purpose operating systems that provide
standard functions as well as VMM functions
✓ Type 2 hypervisors - Applications that run on standard operating systems but provide
VMM features to guest operating systems
Other variations include:
✓ Paravirtualization - Technique in which the guest operating system is modified to work
in cooperation with the VMM to optimize performance
✓ Programming-environment virtualization - VMMs do not virtualize real hardware but
instead create an optimized virtual system
✓ Emulators – Allow applications written for one hardware environment to run on a very
different hardware environment, such as a different type of CPU
✓ Application containment - Not virtualization at all but rather provides virtualization-like
features by segregating applications from the operating
system, making them more secure, manageable

Submitted by: Md Furquan (C183055)


3|Page

History of Virtual Machine


✓ First appeared in IBM mainframes in 1972
✓ Allowed multiple users to share a batch-oriented system
✓ Formal definition of virtualization helped move it beyond IBM
1. A VMM provides an environment for programs that is essentially identical to the original
machine
2. Programs running within that environment show only minor performance decreases
3. The VMM is in complete control of system resources
✓ In late 1990s Intel CPUs fast enough for researchers to try
virtualizing on general purpose PCs
✓ Xen and VMware created technologies, still used today
✓ Virtualization has expanded to many OSes, CPUs, VMMs

Benefits of Virtual Machine


While virtual machines run like individual computers with individual operating systems and
applications, they have the advantage of remaining completely independent of one another and the
physical host machine. A piece of software called a hypervisor, or virtual machine manager, lets
you run different operating systems on different virtual machines at the same time. This makes it
possible to run Linux VMs, for example, on a Windows OS, or to run an earlier version of
Windows on more current Windows OS.
And, because VMs are independent of each other, they're also extremely portable. You can move
a VM on a hypervisor to another hypervisor on a completely different machine almost
instantaneously.
Because of their flexibility and portability, virtual machines provide many benefits, such as:

• Cost savings—running multiple virtual environments from one piece of infrastructure


means that you can drastically reduce your physical infrastructure footprint. This boosts
your bottom line—decreasing the need to maintain nearly as many servers and saving on
maintenance costs and electricity.

• Agility and speed—Spinning up a VM is relatively easy and quick and is much simpler
than provisioning an entire new environment for your developers. Virtualization makes the
process of running dev-test scenarios a lot quicker.

• Lowered downtime—VMs are so portable and easy to move from one hypervisor to
another on a different machine—this means that they are a great solution for backup, in the
event the host goes down unexpectedly.

• Scalability—VMs allow you to more easily scale your apps by adding more physical or
virtual servers to distribute the workload across multiple VMs. As a result, you can increase
the availability and performance of your apps.

Submitted by: Md Furquan (C183055)


4|Page

• Security benefits— Because virtual machines run in multiple operating systems, using a
guest operating system on a VM allows you to run apps of questionable security and
protects your host operating system. VMs also allow for better security forensics, and are
often used to safely study computer viruses, isolating the viruses to avoid risking their host
computer.

Disadvantage of Virtual Machine


• Virtual machines are less efficient than real machines because they access the hardware
indirectly. Running software on top of the host operating system means that it will
have to request access to the hardware from the host. That will slow the usability.
• When several virtual machines are running on the same host, performance may be
hindered if the computer it’s running on lacks sufficient power. Your virtual machine
still uses the resources of your host machine. The more powerful the host computer, the
more quickly the virtual machine will run.
• A virtual machine can be infected with the weaknesses of the host machine. As an
example, process isolation is a feature usually employed by operating systems.
However, there are bugs that violate it. A regular computer devoid of virtual machines
would then only be affected. But, a computer with a number of virtual machines would
then infect each of those “machines” as well.
So, the main reason a company would use a virtual machine is if they need to run separate
operating systems on the same computer. This can be for a number of reasons, including if the
current system isn’t sufficient for the needs of the company’s goals.

A knowledgeable and tenured IT firm can help a company navigate the terrain of choosing the
right virtual machine to suit business demands. A good IT firm can also aid in making sure the
system runs smoothly and efficiently, while constantly monitoring for performance and IT
security.

Types of Virtual Machine


• Windows virtual machines
• Android virtual machines
• Mac virtual machines
• iOS virtual machines
• Java virtual machines
• Python virtual machines
• Linux virtual machines
• VMware virtual machines
• Ubuntu virtual machines

Submitted by: Md Furquan (C183055)


5|Page

Windows virtual machines

Most hypervisors support VMs running the Windows OS as a guest. Microsoft’s Hyper-V
hypervisor comes as part of the Windows operating system. When installed, it creates a parent
partition containing both itself and the primary Windows OS, each of which gets privileged access
to the hardware. Other operating systems, including Windows guests, run in child partitions that
communicate with the hardware via the parent partition.

Android virtual machines

Google’s open-source Android OS is common on mobile devices and connected home devices
such as home entertainment devices. The Android OS runs only on the ARM processor architecture
that is common to these devices, but enthusiasts, Android gamers, or software developers might
want to run it on PCs.

This is problematic because PCs run on an entirely different x86 processor architecture and a
hardware virtualization hypervisor only passes instructions between the VM and the CPU. It
doesn’t translate them for processors with different instruction sets. There are various projects to
address this problem.

Some projects, such as Shashlik or Genymotion, use an emulator that re-creates the ARM
architecture in software. One alternative, the Android-x86 project, ports Android to the x86
architecture instead. To run it, you must install the Android-x86 program as a virtual machine
using the VirtualBox type 2 hypervisor. Another alternative, Anbox, runs the Android operating
system on the kernel of a host Linux OS.

Mac virtual machines

Apple only allows its macOS system to run on Apple hardware, prohibiting people from running
it on non-Apple hardware as a VM or otherwise under its end user license agreement. You can use
Type 2 hypervisors on Mac hardware to create VMs with a macOS guest.

iOS virtual machines

It is not possible to run iOS in a VM today because Apple strictly controls its iOS OS and doesn’t
allow it to run on anything other than iOS devices.

The closest thing to an iOS VM is the iPhone simulator that ships with the Xcode integrated
development environment, which simulates the entire iPhone system in software.

Submitted by: Md Furquan (C183055)


6|Page

Java virtual machines

The Java platform is an execution environment for programs written in the Java software
development language. Java’s promise was “write once, run anywhere” functionality. This meant
that any Java program could run on any hardware running the Java platform. To achieve that, the
Java platform includes a Java virtual machine (JVM).

Java programs contain bytecode, which are instructions intended for the JVM. The JVM compiles
this bytecode to machine code, which is the lowest-level language used by the host computer. The
JVM in one computing platform’s Java platform will create a different set of machine code
instructions to the JVM in another’s, based on the machine code that the processor expects.

The JVM, therefore, doesn’t run an entire OS and doesn’t use a hypervisor as other VMs do.
Instead, it translates application-level software programs to run on particular hardware.

For more information on Java, check out “Java: A Complete Guide.”

Python virtual machines

Like the JVM, the Python VM doesn’t run on a hypervisor, and it doesn’t contain a guest OS. It is
a tool that enables programs written in the Python programming language to run on a variety of
CPUs.

Similar to Java, Python translates its programs into an intermediate format called bytecode, storing
it in a file ready for execution. When the program runs, the Python VM translates the bytecode
into machine code for fast execution.

Linux virtual machines

Linux is a common guest OS used in many VMs. It is also a common host OS used to run VMs
and even has its own hypervisor called the kernel-based virtual machine (KVM). The mainstream
Linux kernel has included the KVM since 2007. Although it is an open-source project, Red Hat
now owns the original company that developed the KVM.

VMware virtual machines

VMware was an early virtualization software vendor and is now a popular provider of both Type
1 and Type 2 hypervisor and VM software to enterprise customers.

“VMware: A Complete Guide” provides a comprehensive overview of all things VMware.

Submitted by: Md Furquan (C183055)


7|Page

Ubuntu virtual machines

Ubuntu is a Linux distribution produced by Canonical. It is available in desktop and server


versions, either of which you can install as a VM. Ubuntu can be deployed as a guest OS on
Microsoft Hyper-V. It provides an optimized version of Ubuntu Desktop that works well in Hyper-
V’s Enhanced Session Mode, providing tight integration between the Windows host and Ubuntu
VM. It includes support for clipboard integration, dynamic desktop resizing, shared folders, and
moving the mouse between the host and guest desktops.

Application of Virtual Machine


VMs have several uses, both for enterprise IT administrators and users. Here are a few options:

• Cloud computing: For the last 10+ years, VMs have been the fundamental unit of
compute in cloud, enabling dozens of different types of applications and workloads to
run and scale successfully.
• Support DevOps: VMs are a great way to support enterprise developers, who can
configure VM templates with the settings for their software development and testing
processes. They can create VMs for specific tasks such as static software tests, including
these steps in an automated development workflow. This all helps streamline the DevOps
toolchain.
• Test a new operating system: A VM lets you test-drive a new operating system on your
desktop without affecting your primary OS.
• Investigate malware: VMs are useful for malware researchers that frequently need fresh
machines on which to test malicious programs.
• Run incompatible software: Some users may prefer one OS while still needing a
program that is only available in another. One good example is the Dragon range of voice
dictation software. Its vendor, Nuance, has discontinued the macOS version of its
product. However, running a desktop-focused hypervisor—such as VMware Fusion or
Parallels—enables you to run Windows in a VM, giving you access to that version of the
software.
• Browse securely: Using a virtual machine for browsing enables you to visit sites without
worrying about infection. You can take a snapshot of your machine and then roll back to
it after each browsing session. This is something that a user could set up themselves,
using a Type 2 desktop hypervisor. Alternatively, an admin could provide a temporary
virtual desktop located on the server.

Submitted by: Md Furquan (C183055)

You might also like