Sprawdź ten link.
http://blogs.msdn.com/b/virtual_pc_guy/archive/2006/07/10/661958.aspx
Odpowiedź pochodzi z bloga wirtualizacji Bena Armstronga
oto dwa znaczenia „VMM”. Pierwszy to „menedżer pamięci wirtualnej” - jest to część systemu operacyjnego Windows i nie ma nic wspólnego z wirtualizacją komputerów - i wszystko, co dotyczy zarządzania pamięcią systemu operacyjnego. Nie o tym dzisiaj rozmawiam :-)
Drugie znaczenie to „monitor maszyny wirtualnej”. Istnieje wiele różnych programów i implementacji, które używają monikera „Virtual Machine Monitor”. Mówiąc najprościej - VMM to oprogramowanie odpowiedzialne za monitorowanie i egzekwowanie zasad na maszynach wirtualnych, za które jest odpowiedzialny. Oznacza to, że VMM śledzi wszystko, co dzieje się wewnątrz maszyny wirtualnej, aw razie potrzeby zapewnia zasoby, przekierowuje maszynę wirtualną do zasobów lub odmawia dostępu do zasobów (różne implementacje VMM zapewniają lub przekierowują zasoby na różne poziomy - ale to jest temat dyskusji na inny dzień).
Klasycznie istnieją dwa typy VMM.
VMM typu II to taki, który działa na systemie operacyjnym hostującym, a następnie spawnuje maszyny wirtualne wyższego poziomu. Przykłady maszyn wirtualnych typu II obejmują środowisko JavaVM i .Net. Te maszyny VMM monitorują swoje maszyny wirtualne i przekierowują żądania zasobów do odpowiednich interfejsów API w środowisku hostingowym (z pewnym poziomem przetwarzania pomiędzy nimi).
VMM typu I to taki, który działa bezpośrednio na sprzęcie, bez potrzeby posiadania systemu operacyjnego dla hostingu. VMM typu I są również znane jako „hypervisors” - więc jedyną prawdziwą różnicą między VMM a hypervisor jest to, gdzie działa. Funkcje zapewniane przez oba są sprawiedliwe. Przykłady maszyn wirtualnych typu I obejmują rozwiązania wirtualizacji komputerów mainframe oferowane przez firmy takie jak Amdahl i IBM, a na nowoczesnych komputerach rozwiązania takie jak VMware ESX, Xen i wirtualizacja Windows.