Virtualization allows multiple virtual machines to run on a single physical machine. It began in IBM mainframes in 1972 and allowed time-sharing of computing resources. Modern virtualization technologies like VMware and Xen create virtual environments that are essentially identical to the original machine for programs to run in. Virtualization provides benefits like consolidation of servers, high availability, disaster recovery and easier management of computing resources. There are different types of virtualization including server, desktop, application, memory and storage virtualization.