A hypervisor is a software program that manages one or more virtual machines (VMs). It is used to create, start, stop, and reset VMs. The hypervisor allows each VM or "guest" to access the physical hardware, such as the CPU, RAM, and storage. It can also limit how many system resources each VM can use so that multiple VMs can run simultaneously on a single system.
There are two primary types of hypervisors: native and hosted.
A native or "bare metal" hypervisor runs directly on the hardware. It sits between the hardware and one or more guest operating systems. A native hypervisor loads even before the OS and interacts directly with the kernel. This provides the highest possible performance since there is no primary operating system competing for the computer's resources. However, it also means the computer may only be used to run virtual machines since the hypervisor is always running. Examples of Type-1 hypervisors include VMware ESXi, Microsoft Hyper-V, and Apple Boot Camp.
A hosted hypervisor is installed on a host computer, which already has an operating system installed. It runs as an application like other software on the computer. Most hosted hypervisors can manage and run multiple VMs at one time. The advantage of a hosted hypervisor is that it can be open or quit as needed, freeing up resources for the host computer. However, since it runs on top of an operating system, it may not offer the same performance as a native hypervisor. Examples of Type-2 hypervisors include VMware Workstation, Oracle VirtualBox, and Parallels Desktop for Mac.