In hardware virtualization, physical system resources can be distributed across multiple virtual systems. Each guest system (including all programs running in it) is separated from the underlying hardware.
In practice, virtual machines are mostly used to isolate certain processes and applications for security reasons. Compared to other virtualization concepts, VMs offer a strong encapsulation, functioning as a basis for hosting products in which several customer servers are operated on a common hardware platform. The provision of virtual machines is the basis of shared hosting and VPS (virtual private server) setups. Since each guest system runs in an isolated runtime environment, processes encapsulated in a VM do not affect the host system or other systems on the same physical machine.
In a business context, virtual machines are used to reduce costs for operating and maintaining IT infrastructures. Companies often run an extensive IT infrastructure that is idle most of the day. Virtual machines can significantly reduce this wastage. Instead of providing each application area of a business IT department with its own physical machine, more and more companies are moving to running mail, database, file, or application servers in isolated virtual environments on the same powerful hardware platform. This concept is implemented in the context of server consolidation, as it is usually cheaper to maintain a large computing platform for different virtual systems than to operate several small computers. Processors, in particular, are still expensive to buy. In other words: unused processor time is an unnecessary cost factor that can be avoided by switching to virtual systems.
Another field of application for virtual environments is software development. Programmers who develop applications for different system architectures often use virtual machines for software testing. Numerous hypervisor products allow the parallel operation of different operating systems or system versions. Virtual machines can be created, cloned, and removed from the physical hard disk space at the touch of a button without leaving any data behind. In addition, faulty processes within a virtual machine have no effect on the underlying system due to encapsulation.
Home users typically use hypervisors with emulation capabilities to run applications originally written for a different system architecture. However, it should be noted that hardware virtualization, as well as emulation, always goes hand in hand with performance losses. For example, if a user wants to run a Linux program in a VM on their Windows machine, additional resources must be spent on both the hypervisor and the guest system. An encapsulated Linux application like this no longer has the same performance of the underlying hardware at its disposal. This is referred to as an overhead.