Verifique este link.
link
A resposta é do Blog de Virtualização de Ben Armstrong
aqui são na verdade dois significados para 'VMM'. O primeiro é 'gerenciador de memória virtual' - isso faz parte do sistema operacional Windows e não tem nada a ver com virtualização de computadores - e tudo a ver com o gerenciamento de memória do sistema operacional. Isto não é o que estou discutindo hoje: -)
O segundo significado é 'Virtual Machine Monitor'. Há vários programas e implementações diferentes que usam o moniker 'Virtual Machine Monitor'. Nos termos mais simples - o VMM é o software responsável por monitorar e aplicar a política nas máquinas virtuais pelas quais é responsável. Isso significa que o VMM monitora 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 níveis variados - mas isso é um tópico de discussão para outro dia).
Classicamente, existem dois tipos de VMM.
Um VMM tipo II é aquele que é executado sobre um sistema operacional de hospedagem e, em seguida, 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 intermediário).
Um VMM tipo I é aquele que é executado diretamente no hardware sem a necessidade de um sistema operacional de hospedagem. Os VMMs tipo I também são conhecidos como 'hypervisors' - portanto, a única diferença real entre um VMM e um hipervisor é onde ele é executado. A funcionalidade fornecida por ambos é justa. Exemplos de VMMs 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 virtualização de VMware ESX, Xen e Windows.