Verifique este link.
http://blogs.msdn.com/b/virtual_pc_guy/archive/2006/07/10/661958.aspx
A resposta é do blog de virtualização de Ben Armstrong
aqui estão dois significados para 'VMM'. O primeiro é o 'gerenciador de memória virtual' - isso faz parte do sistema operacional Windows e não tem nada a ver com a virtualização do computador - e tudo a ver com o gerenciamento de memória do sistema operacional. Não é isso que estou discutindo hoje :-)
O segundo significado é 'Monitor de máquina virtual'. Existem vários programas e implementações diferentes que usam o apelido 'Virtual Machine Monitor'. Nos termos mais simples - o VMM é o software responsável por monitorar e impor políticas nas máquinas virtuais pelas quais é responsável. Isso significa que o VMM controla tudo o que acontece dentro de uma máquina virtual e, quando necessário, fornece recursos, redireciona a máquina virtual para recursos ou nega acesso a recursos (diferentes implementações de VMMs fornecem ou redirecionam recursos para vários níveis - mas isso é tópico de discussão para outro dia).
Classicamente, existem dois tipos de VMM.
Um VMM tipo II é aquele executado em cima de um sistema operacional de hospedagem e gera máquinas virtuais de nível superior. Exemplos de VMMs do tipo II incluem o ambiente JavaVM e .Net. Esses VMMs monitoram suas máquinas virtuais e redirecionam solicitações de recursos para APIs apropriadas no ambiente de hospedagem (com algum nível de processamento no meio).
Um VMM tipo I é executado diretamente no hardware sem a necessidade de um sistema operacional de hospedagem. Os VMMs do tipo I também são conhecidos como 'hipervisores' - portanto, a única diferença verdadeira entre um VMM e um hipervisor é onde ele é executado. A funcionalidade fornecida por ambos é eqüitativa. Exemplos de VMMs do tipo I incluem as soluções de virtualização de mainframe oferecidas por empresas como Amdahl e IBM, e em computadores modernos por soluções como VMware ESX, Xen e Windows.