Author : MD TAREQ HASSAN | Updated : 2020/11/05
Prerequisites
What is virtual machine?
A virtual machine (VM) is a software-based computer that exists within another computer’s operating system (OS)
- Acronym: VM
- In computing, a virtual machine is an emulation of a computer system
- VM emulates a physical computer
- VM is like a computer within a computer
- VMs are virtual environments that simulate a physical compute in software form
- A VM is a computer file (typically called an image) that behaves like an actual computer
- VM runs on a host operating system and gives the end user the experience of a real computer
- VM runs on virtual hardware (CPUs, memory, hard drives etc.) provisioned by Hypervisor
Terminologies
- Host OS: The OS that runs on the actual physical machine (computer)
- Hypervisor (Hyper-V): a specialized software that allocates/virtualizes compute resources (like CPU, memory, and storage etc.)
- Guest OS: The OS that runs in a sandbox within the host OS (with help of Hyper-V)
Hypervisor
- A specialized software (part of host OS) that virtualizes hardware
- Hyper-V allows guest OS to access hardware resources
- Hypervisor is the software layer that coordinates VM
Types of hypervisors
There are 2 different types of hypervisors that can be used for virtualization:
- Type 1:
- Bare metal
- VM resources are scheduled directly to the hardware by the hypervisor (KVM is an example of a type 1 hypervisor)
- Type 2:
- Hosted
- VM resources are scheduled against a host operating system, which is then executed against the hardware. VMware Workstation and Oracle VirtualBox are examples of type 2 hypervisors.
Usages of VM
- VMs can run multiple operating system environments on a single physical computer (saves hysical space, time and management costs)
- Server virtualization
- Cloud services (i.e. Azure, AWS, GCP) are powered by VMs
- Testing and PoC purposes