A client-side hypervisor is a virtual machine monitor (VMM) that resides in and virtualizes a user's computer, allowing it to run multiple operating systems (or virtual machines) on shared hardware. A client-side hypervisor can be useful for a software developer who needs to test an application in many environments, such as different versions of Windows, Linux, or Mac OS. By using a client- side hypervisor, the developer can switch between different virtual machines without rebooting the computer or using multiple physical devices.