Difference between Virtual Machine and a Hypervisor

The hypervisor is the device or software which runs the virtual machine. It's typically responsible for allocating the resources, providing the interface between the virtual machine (the "guest") and the host system as well as any management software.

So if you're using VMware Workstation to run a Windows 7 virtual machine, VMware Workstation is the hypervisor.


Check this link. http://blogs.msdn.com/b/virtual_pc_guy/archive/2006/07/10/661958.aspx

Answer is from Ben Armstrong’s Virtualization Blog

here are actually two meanings for 'VMM'. The first is 'virtual memory manager' - this is part of the Windows operating system and has nothing to do with computer virtualization - and everything to do with operating system memory management. This is not what I am discussing today :-)

The second meaning is 'Virtual Machine Monitor'. There are a number of different programs and implementations that use the moniker 'Virtual Machine Monitor'. In the simplest terms - the VMM is the piece of software responsible for monitoring and enforcing policy on the virtual machines for which it is responsible. This means that the VMM keeps track of everything happening inside of a virtual machine, and when necessary provides resources, redirects the virtual machine to resources, or denies access to resources (different implementations of VMMs provide or redirect resources to varying levels - but that is a topic of discussion for another day).

Classically there are two types of VMM.

A type II VMM is one that runs on top of a hosting operating system and then spawns higher level virtual machines. Examples of type II VMMs include the JavaVM and .Net environment. These VMMs monitor their virtual machines and redirect requests for resource to appropriate APIs in the hosting environment (with some level of processing in between).

A type I VMM is one that runs directly on the hardware without the need of a hosting operating system. Type I VMMs are also known as 'hypervisors' - so the only true difference between a VMM and a hypervisor is where it runs. The functionality provided by both is equitable. Examples of type I VMMs include the mainframe virtualization solutions offered by companies such as Amdahl and IBM, and on modern computers by solutions like VMware ESX, Xen and Windows virtualization.


This is an extension of existing operating system terminology — one that is one of the several alternatives to the seed/nut metaphor. user programs are controlled by the supervisor program, and in a non-virtual system that's where things stop. With virtualization, the supervisor is, in turn, controlled (or monitored, or managed) by a hypervisor program.

All of these programs are softwares. The virtual machine is the pretense of a machine that the supervisor and user programs experience themselves running on. It looks like hardware from the inside.