A Virtual Machine is an emulated environment running on a machine with its CPU, memory, and storage. The Virtual Machine is connected with the hardware by an intermediary software called Hypervisor. The machine, where Hypervisor is installed, is called the host machine/host; whereas, the machine where Virtual Machine utilizes the host machine’s resources and Hypervisor to connect to hardware is called guest machine/guest. Virtual Machine is wholly isolated from the host and operates as a completely independent entity. There are two types of Virtual Machines:
A Virtual Machine’s environment can be broken down into 5 layers:
A Hypervisor acts as a bridge between the virtualized OS and the hardware. It pools the hardware resources and allocates them to the host and the guest. Some of the components that Hypervisor needs to do its job are memory manager, process scheduler, I/O stack, device drivers, security manager, and network stack. Although the Hypervisor manages and allocates the resources to the Virtual Machine, the actual components (e.g., CPU and memory) still execute the instructions as they usually do. Hypervisor provides an abstraction that lets you run multiple Operating Systems or Processes on one machine.
Advantages | Disadvantages |
---|---|
Multiple Operating Systems can be run on one | Running multiple Operating System on one computer/server imposes a toll on its components and uses up more memory and CPU |
Fewer hardware components needed to operate multiple Operating Systems | Having multiple Virtual Machines running on one computer/server can lead to sub-optimal performance |
Quick disaster recovery lets you smoothly redeploy | Since hardware is shared across all Virtual Machines, failure of a component will have an ​adverse effect on all the machines |
RELATED TAGS
View all Courses