Computer virtualization is the process of constructing a virtual (instead of physical) computer hardware platform by executing software program (hypervisor) between the actual hardware and operating system(s). Virtualization allows users to abstract the operating system and application software from the real hardware. To be able to run in a virtual architecture users apply Virtualization software tools to create virtual machines that "act like a real computer with an operating system". One or many virtual machines, even with different types and classes of operating systems can be executed under that same hypervisor.