Both single-machine and cloud-based VPSes are managed using a software program called a hypervisor. The machine that runs the hypervisor is called the host machine and the individual virtual private servers are called guest machines or guest instances. The hypervisor can start and stop the virtual machines and allocates system resources, such as CPU, memory, and disk storage to each VPS.
The force driving server virtualization is similar to that which led to the development of time-sharing and multiprogramming in the past. Although the resources are still shared, as under the time-sharing model, virtualization provides a higher level of security, dependent on the type of virtualization used, as the individual virtual servers are mostly isolated from each other and may run their own full-fledged operating system which can be independently rebooted as a virtual instance.