Dla osób spoza branży IT termin „maszyna wirtualna” brzmi dość zawile, ale spokojnie - w tym wpisie postaram się przybliżyć Wam, co to tak naprawdę jest i do czego może się przydać.

Czym jest maszyna wirtualna?

Komputer osobisty to tak naprawdę mnóstwo połączonych podzespołów elektronicznych takich jak: procesor, pamięć, dysk twardy itd. Teraz wyobraźmy sobie, że wszystkie zamkniemy do pojedynczego programu, który to będzie „udawał”, że również posiada te elementy, ale w rzeczywistości będzie to tylko sprytne manipulowanie dostępnymi zasobami sprzętowymi. Innymi słowy zmieniamy fizyczny komputer w program nazywany „maszyną wirtualną". Dzięki takiemu podejściu będziemy mogli zainstalować na niej system operacyjny oraz wszelkie inne aplikacje. Całość będzie wciąż zamknięta w tym pojedynczym programie uruchomionym na fizycznym komputerze. Gdy do takiego połączenia dodamy fakt, że takich maszyn wirtualnych możemy mieć kilka, a na każdej zupełnie inny system operacyjny i zainstalowane całkowicie niezależne aplikacje zaczyna nam się otwierać cała gama możliwości, której kresem są przeważnie parametry fizycznego komputera na jakim będziemy je uruchamiać.

Po co mi maszyna wirtualna?

Dzięki temu, że na pojedynczej maszynie wirtualnej możemy zainstalować teoretycznie dowolny system operacyjny, a na nim dowolne aplikacje możemy znaleźć szerokie spektrum zastosowań, których przykłady wypunktowałem poniżej.

  • Uruchomienie Windowsa na Macu. (Tak, wiem, że można to zrobić natywnie od czasu, gdy Maki posiadają architekturę Intela, ale często zdarza się, że Windows jest nam potrzebny jedynie sporadycznie.) Uruchomienie wirtualnego systemu OS X na naszym Macu np., gdy chcemy przetestować, czy dany program będzie poprawnie działał na jego nowszym/starszym wydaniu.
  • Testowanie niestabilnych aplikacji, które mogłyby poważnie uszkodzić nasz macierzysty system operacyjny. (W wypadku maszyny wirtualnej możemy wykonać tzw. „snapshot” stanu systemu i szybko go przywrócić, gdyby instalacja jakiegoś oprogramowania zakończyła się problemami.)
  • Zbudowanie „sztucznej" sieci lokalnej składającej się np. z 3 maszyn wirtualnych i konfigurowanie połączeń między nimi. (Studenci informatyki na zajęciach z sieci komputerowych pewnie wielokrotnie „bawili się” tą metodą... ;) )
  • Dla oszczędności sprzętu oraz energii. (Na jednym fizycznym komputerze możemy mieć równocześnie uruchomionych kilka maszyn wirtualnych do różnych zastosowań, zamiast dedykowanych komputerów do każdego z nich.)

O czym warto pamiętać?

Komputer na którym uruchamiamy środowisko wirtualne musi być odpowiednio dobrze wyposażony sprzętowo. Każda maszyna wirtualna „zabiera” dostępne zasoby. Im większa ma być jej wydajność tym bardziej jest ona powiązana z hardwarem macierzystego komputera. Nie możemy np. skonfigurować wydajnego, wirtualnego Windowsa wyposażonego w 16 GB RAMu i czterordzeniowy procesor na Macu z dwurdzeniowym Intel Core M i 4GB RAMu. Tutaj w głównej mierze należy kierować się zdrowym rozsądkiem. Jeżeli potrzebujemy np. Windowsa wyłącznie do obsługi jednego programu, skonfigurujmy maszynę wirtualną na minimalnych parametrach wymaganych do jego uruchomienia. Dzięki temu nasz Mac nie będzie tak obciążony podczas pracy ze środowiskiem wirtualnym.

Pomimo, że system uruchomiony na maszynie wirtualnej pracuje w trybie nomen omen „wirtualnym” licencja na jego użytkowanie musi być już całkowicie rzeczywista. Tutaj w szczególności w wypadku Windowsa warto przestudiować jej treść dla konkretnej wersji jaką zamierzamy zainstalować. W większości wypadków system uruchomiony w trybie wirtualnym jest traktowany zupełnie tak samo jakby był zainstalowany na fizycznym komputerze.

Który program do obsługi wirtualnych maszyn wybrać?

Żeby odpowiedzieć sobie na to pytanie należy przede wszystkim określić do jakich celów dane środowisko wirtualne ma nam służyć. Jeżeli chcemy zacząć naszą przygodę z tą tematyką lub zwyczajnie potrzebujemy korzystać z maszyn wirtualnych jedynie sporadycznie warto wybrać darmowe rozwiązanie firmy Oracle - VirtualBox. Jeżeli planujemy często pracować w środowisku wirtualnym zdecydowanie warto rozważyć zakup podstawowych wersji Parallels Desktop lub VMware Fusion, które są świetnie zintegrowane z OS X i posiadają miłe dla oka interfejsy użytkownika. Jeżeli natomiast rozważamy profesjonalne zastosowanie maszyn wirtualnych np. jako wirtualne serwery z całą pewnością musimy skupić się na wersjach: Parallels Desktop Pro Edition lub VMware Fusion Pro oraz dodatkowo skonfigurować solidny sprzętowy serwer do ich obsługi.

Maszyny wirtualne w praktyce

Żeby przybliżyć Wam praktyczną obsługę maszyn wirtualnych przygotowałem samouczek zarówno z instalacji samego VirtualBoxa, jak i uruchomienia na nim systemu operacyjnego firmy Microsoft - Windowsa 10. Wiem, że dla jednych to profanacja Apple ;), ale sporej grupie osób takie rozwiązanie może się okazać bardzo przydatne w przeróżnych zastosowaniach. W sobotę (27.02.1016) tutorial ukaże się na moim blogu, już dzisiaj serdecznie zapraszam do jego lektury!