VMWare Workstation

Jest to jeden z kilku produktów firmy VMWare (pozostałe to m.in. VMWare Player i VMWare Serwer). Umożliwia uruchamianie pod jednym macierzystym systemem operacyjnym innych. Inne produkty VMWare pozwalają na zrobienie innego zabiegu - umożliwiaj utrzymywanie i zarządzanie różnymi systemami operacyjnymi na fizycznie wielu maszynach goszczcych (ang. host).

Składa się on z maszyny wirtualnej, działającej na architekturze Intel x86. W przeciwieńtwie do Virtual PC, pozwala na uruchomienie zarówno Windows, Linux, jak i BSD (systemy operacyjne "goście"), a macierzystym systemem może być Windows lub Linux.

Co potrafi VMWare Workstation?

Zadaniem programu jest możliwość tworzenia i zarządzanie maszynami wirtualnymi. Każda z nich działa niezależnie

Z czego składa się VMWare Workstation i na czym polega jego działanie?

VM Workstation składa sie z trzech głównych skadników:

Ogólnie:

VMM działa w privilage mode, a VM (maszyna wirtualna) w trybie użytkownika. Kiedy VM chce wywołać instrukcję nieuprzywilejowaną, to VMM pozwala jej przejść, aby była bezpośrednio wywołana. Natomiast instrukcje, które muszą być wykonywane w wyższym trybie, a są wywoływane przez aplikację z poziomu użytkownika, powodują wyjątek. Są to przede wszystkim instrukcje wejścia/wyjścia, zmiana flag itp. VMWare nazywa te instrukcje "sensitive" - czułe. Mają one wpływ na działanie innych procesów i dlatego nie mogą być wykonywane bezpośrednio na CPU. Podstawową rolę, jaką gra VMM, to przechwytywanie i wykonywanie tych instrukcji.

VM Workstation potrzebuje do działania system goszczący. Jest to spowodowane przez architekturę x86 - VMM nie jest w stanie przechwycić wszystkich czułych instrukcji. Po drugie istnieje ogromna paleta różych urządzeń na komputer PC, a każde z nich potrzebuje sterownika. Bez systemu operacyjnego hosta, VMM musiałby pełnić wiele funkcji, które są zadaniem SO - zarządzanie pamięcią, zasobami, podział czasu procesora, itd.

Bardziej szczegółowo

W architekturze IA32 są wprowadzone 4 poziomy ochrony (privilage levels). Według Intela, system operacyjny powinien działać na poziomie 0, sterowniki urządzeń na poziomie 1 i 2, a aplikacje użytkownika na poziomie 3.

W VM Workstation pierwsze dwa wymienione składniki działają jako wysoko uprzywilejowane programy - na poziomie systemu operacyjnego. Natomiast VMApp - na trzecim poziomie ochrony (jak zwykła aplikacja).

Podczas instalacji, VMX driver jest instalowany w systemie operacyjnym, aby zdobyć wysoki privilage level, a który będzie potem potrzebny w działaniu VMM. Kiedy jest wykonywana jakaś aplikacja, przez VMX driver VMM jest ładowany do pamięci jądra, uzyskując 0 stopień urzywilejowania. W tym momencie, "goszczący" system operacyjny nie wie o jego obecności. W tym momencie na fizycznej maszynie znajdują się dwa "światy" - świat hosta i VMM. VMM może bezpośrednio działać na fizycznym sprzęcie, a jednocześnie przez VMX driver ma możliwość kontaktowania się z goszczącym systemem operacyjnym. Kiedy sterowanie wróci do prawowitego właściciela - hosta, wszystkie informacja muszą być zapamiętane - co jest, w porównaniu do prawdziwego systemu, nieciekawą cechą.

Nie wszystkie instrukcje mogą być wykonywane bezpośrednio przez VMM. Instrukcje wejścia/wyjścia są obsługiwane przez system operacyjny host'a. Jak to działa? Kiedy już sterowanie jest po stronie host'a, VMApp wywołuje instrukcję wejścia/wyjścia na SO goszczącym przez standardowe dla niego wywołania. Później odpowiednie informacje (np. rezultat funkcji read()) jest przekazywany przez VWXdriver i VMM. Dlatego też przy częstym używaniu instrukcji I/O, czuć wolniejszą pracę SO gościa.

Trzeba pamiętać jednak, że wszystkie aplikacje, systemy operacyjne-goście, VM, VMM są uzależnione od goszczącego SO i jego scheduler'a.

Instalacja

Składa się z kilku kroków:

Na pasku zadań najważniejszy jest VM:

Jest tu zawarte całe zarządzanie wirtualną maszyną:

Power -> włączenie maszyny wirtualnej

Snapshot -> umożliwia zachowanie stanu maszyny wirtualnej

Install VMWare Tools -> dodatkowy komponent, który powinno się zainstalować już po instalacji systemu. Gdy gościem jest system Linux, to jest on do zainstalowania z katalogu hdfs

Settings -> najważniejsze ustawienia maszyny wirtualnej, które po otwarciu zawierają ustawienia dotyczce hardware'u

Informacje praktyczne: