Virtualization means to create a virtual version of a device or resource, such as a server, storage device, network or even an operating system where the framework divides the resource into one or more execution environments. Even something as simple as partitioning a hard drive is considered virtualization because you take one drive and partition it to create two separate hard drives. Devices, applications and human users are able to interact with the virtual resource as if it were a real single logical resource. We have
Storage virtualization: the amalgamation of multiple network storage devices into what appears to be a single storage unit.
Server virtualization: the partitioning a physical server into smaller virtual servers.
Network virtualization: using network resources through a logical segmentation of a single physical network-Virtual Local Area Network (VLAN).
A hypervisor is a function/software which abstracts — isolates — operating systems and applications from the underlying computer hardware. This abstraction allows the underlying host machine hardware to independently operate one or more virtual machines as guests, allowing multiple guest VMs to effectively share the system’s physical compute resources, such as processor cycles, memory space, network bandwidth and so on.
These hypervisors run directly on the host’s hardware to control the hardware and to manage guest operating systems. Xen, Oracle VM Server for SPARC, Oracle VM Server for x86, Microsoft Hyper-V and VMware ESX/ESXi are examples of type-1 hypervisors.
These hypervisors run on a conventional operating system (OS) just as other computer programs do. A guest operating system runs as a process on the host. Type-2 hypervisors abstract guest operating systems from the host operating system. VMware Workstation, VMware Player, VirtualBox, Parallels Desktop for Mac and QEMU are examples of type-2 hypervisors.