The hypervisor is software that can either pass-through, or emulate the physical hardware layer to a VM. Hypervisors time-splice the underlying hardware, to the VMs. So a physical machine (and its set of CPU cores) can be virtualized into more than one VM. Each VM will appear with a full set of CPU cores. So for example, one 4-core physical machine can be virtualized into an arbitrary number of VMs not exceeding 4 cores each. There will be more discussion on this later. The same can be done with the memory, but to a lesser extent. The sum of the VMs is in general larger than the sum of the physical machines. This is one of the leading reasons why we virtualize.

There are two types of hypervisors by definition, Type I and Type II. In a Type I hypervisor, the hypervisor software is installed on an operating system (the host operating system). In Type II, the hypervisor runs directly on the hardware (bare metal). Most folks will debate that there are advantages to Type I than Type II. We will cover some of those differences soon.