Introduction
A virtual machine (VM) is the essence of server virtualization. It is a software abstract that provides an isolated environment for an operating system. It enables the running of more than one operating system on the same physical hardware.
When virtual machines are powered on and running, the operating systems hosted inside them are not aware of the fact that they are running on a virtual machine. They operate and respond in the same manner as they would on a physical machine.
So what makes these VMs coexist on the same physical hardware? This is where the virtual machine monitor (VMM) plays its role.
The VMM virtualizes x86 architecture, which includes the instruction set, memory, interrupts, and the basic I/O operations. When a virtual machine is powered on, the VMkernel loads the VMM, and the VM executes on top of the VMM.
The virtual machine components
A virtual machine will have the following default virtual hardware components:
Memory, CPUs, SCSI controller, hard disks, and...