Różnica między maszyną wirtualną a hiperwizorem

29

Jeśli używasz terminu „hiperwizor”, otrzymujesz niekończące się definicje określające, że hiperwizor jest również znany jako monitor maszyny wirtualnej lub menedżer maszyny wirtualnej i że jest to forma wirtualizacji sprzętowej. Ale, jako że jest nowy w maszynach wirtualnych i ich koncepcjach, jest to dla mnie niewyraźna definicja.

Jaka jest zatem różnica - i / lub związek między - maszyną wirtualną a jej hiperwizorem? Czy ktoś może podać konkretny przykład?

pnongrata
źródło
Zobacz artykuł w Wikipedii na temat hiperwizorów. Istnieje kilka różnych typów, które mogą być częściowo powodem, że jesteś zdezorientowany. en.wikipedia.org/wiki/Hypervisor
Zoredache

Odpowiedzi:

17

Hiperwizor to urządzenie lub oprogramowanie, które uruchamia maszynę wirtualną. Zazwyczaj odpowiada za alokację zasobów, zapewniając interfejs między maszyną wirtualną („gościem”) a systemem hosta, a także dowolnym oprogramowaniem do zarządzania.

Jeśli więc używasz VMware Workstation do uruchomienia maszyny wirtualnej z systemem Windows 7, VMware Workstation jest hiperwizorem.

Kodowanie Gorilla
źródło
5
Dlaczego nie mogą tak po prostu powiedzieć w dokumentacji źródłowej?!? Dzięki!
pnongrata
10
Nie chcą ci zbyt łatwo, bo nie zapłacisz za umowę wsparcia. ;)
Kodowanie Gorilla
Więc ... Jaka jest różnica między VMM a Hypervisor?
allyourcode
@allyourcode Zależy, o którym „VMM” mówisz i w jakim kontekście.
Kodowanie Gorilla
Doskonała odpowiedź, pozytywnie oceniany. Ale co z emulatorami oprogramowania ? Czy możemy powiedzieć, że emulator (DOSBox) to oprogramowanie, które obsługuje maszynę wirtualną?
john cj
5

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.

Rajind Ruparathna
źródło
3

Jest to rozszerzenie istniejącej terminologii systemu operacyjnego - jednej z kilku alternatyw dla metafory „seed / nut” . programy użytkownika są kontrolowane przez program nadzorujący oraz w systemie innym niż wirtualny, w którym wszystko się kończy. Dzięki wirtualizacji superwizor jest z kolei kontrolowany (monitorowany lub zarządzany) przez program hiperwizora .

Wszystkie te programy są oprogramowaniem. Maszyna wirtualna jest udawanie automatu że programy administratora i użytkownika doświadczają siebie działa na. Wygląda jak sprzęt od wewnątrz.

JdeBP
źródło
3
Jak na ironię, i to jest nie na temat, a jeśli dobrze pamiętam, łacińskie „super” i greckie „hyper” pochodzą z tego samego oryginalnego słowa i oznaczają to samo. Niemiecki „ueber” to kolejne rodzeństwo. Tak więc „superwizor” i „hiperwizor” są w rzeczywistości tym samym słowem, z tym wyjątkiem, że jedno jest w całości łacińskie, a drugie w połowie łacińskie, w połowie greckie. :-)
Andrew J. Brehm,
2
Ale w rzeczywistości dla większości z nas terminologia jest grecka.
Daniel R Hicks
1

Don Skiba o historii Hypervisora :

Byłem z IBM w 1966 roku, kiedy próbowaliśmy zainstalować nowy System 360. Jak można sobie wyobrazić, konwersja całego „starego kodu” ze starych modeli 1401, 1440, 1410, 7080, 7090 była największym bałaganem, jaki kiedykolwiek chciałbyś zobaczyć. W modelu 360 65 był emulator kilku starszych maszyn. W rzeczywistości wszystkie modele 360, z wyjątkiem modelu 75, były emulatorami zestawu instrukcji 360. Popularnym modelem 65 był emulator IBM 7080. Trzeba było jednak poświęcić maszynę na tryb 360 lub 7080. Nie cieszyło to naszych klientów.

Okazało się, że niektóre modele rejestrów w modelu 65 były nieaktywne, ale aktywne w modelu 67, które były używane do dzielenia czasu i ostatecznie wirtualnego systemu operacyjnego, CMS. Przekonałem inżyniera do modelu 65, że moglibyśmy użyć tych rejestrów do przełączania programów działających w dolnej połowie pamięci na programy działające w górnej połowie i każda z nich mogłaby działać w trybie 360 ​​lub 7080. Potrzebowaliśmy tylko „małego” kodu, aby dokonać wymiany, ustawienia trybu i alokacji zasobów (I / O). Przekonałem inżyniera systemowego z Filadelfii, który miał klienta, który desperacko potrzebował tej funkcji, do napisania kodu. Rzucaliśmy wtedy wiele nazw kodów. Zasugerowałem, że „hypervisor” może być odpowiedni, ponieważ przed 360 rokiem nie było „systemów operacyjnych”, a wszystkie poprzednie systemy miały „superwizorów”. Tak więc „hiperwizor” wydawał się odpowiedni, a nazwa utknęła.

Artru
źródło