Quoting from ComputerWorld:
Although virtualization tools have similar objectives and use a virtualization software layer, called a resource manager or hypervisor, to manage virtual machines, the basic architectures vary.
In software-based VMs, the resource manager sits on top of a host operating system and juggles the requests of multiple guest operating systems loaded on top of it. Microsoft Virtual Server 2005 and VMware GSX Server follow this model.
Other products, such as Xen and VMware’s ESX Server, run in a hypervisor that sits beneath the guest operating systems and the hardware. Because the software layer sits on the “bare metal,” these are sometimes referred to as hardware VMs. Direct contact with the system hardware allows the VMs to work more efficiently.
Other products, such as Solaris Containers in Sun Microsystems Inc.’s Solaris 10 and SWsoft Inc.’s Virtuozzo, also use a software-based model but eliminate guest operating systems in favor of “virtualized operating systems,” or application containers. Each application appears to have the operating system to itself, but in fact, core elements, such as the kernel and system libraries, are shared. This approach is more efficient than running a full-blown guest operating system in each VM and saves on software costs because one operating system license can be used for all VMs on a physical server. But there’s a catch: Virtual operating systems can support only applications that will run on the host operating system.
IDC analyst Dan Kusnetzky says each approach fits a different need. “Those who need power will want approaches that are very lightweight. Others are more concerned about optimizing resources,” he says. “A single approach will not fit the need everywhere.”