Maszyna wirtualna, czym jest i gdzie się jej używa?

Spotkałeś się z pojęciem virtual machine i zastanawiasz się co to jest i do czego służy? W takim razie odpowiedzi na interesujące Cię pytania znajdziesz w tym artykule!

Maszyna wirtualna – co to jest?

Maszynami wirtualnymi określa się środowisko uruchomieniowe programów. Innymi słowy są to programy tworzące środowisko do uruchamiania dla innych programów, a także do wszystkie kontrolowania odwołań uruchamianego programu. Zatem maszyny wirtualne działają tak jak komputery, tyle, że nie mają fizycznej i materialnej postaci. Co więcej, program, który został uruchomiony na maszynie wirtualnej w pewnym sensie myśli, że został uruchomiony na fizycznym sprzęcie. Wśród maszyn wirtualnych wyróżnia się kilka rodzajów. Najpopularniejsze z nich to emulatory rzeczywiście istniejącego sprzętu, interpretery, a więc programy komputerowe wykonujące inne programy, jak choćby wirtualna maszyna Javy, jak również kompilatory JIT. Maszyny wirtualne mogą oczywiście funkcjonować tylko w oparciu o serwery o dużej mocy obliczeniowej oraz dużej pojemności dyskowej.

Jak działa maszyna wirtualna?

Skoro już wiesz czym są maszyny wirtualne, zapewne zastanawiasz się jak działają i do czego są wykorzystywane. Cały proces, dzięki któremu wirtualne maszyny mogą funkcjonować, opiera się na oprogramowaniu lub wirtualnej wersji komputera wraz z dedykowaną ilością procesorów, pamięci oraz magazynu. Te są niejako pożyczane od fizycznego komputera hosta. Co ważne, maszyna wirtualna jest oddzielona od reszty systemu. Zatem nie może ona zakłócać podstawowego systemu operacyjnego komputera hosta. Dobrze skonstruowana maszyna wirtualna ma za zadanie wiernie naśladować działanie fizycznego sprzętu.

Wirtualne maszyny i ich zastosowanie

Choć pojęcie wirtualnych maszyn może brzmieć odrobinę abstrakcyjnie, to już ich zastosowania są jak najbardziej rzeczywiste. Wszystko dlatego, że pozwalają one na realizowanie takich zadań jak tworzenie i wdrażanie aplikacji w chmurze czy też testowanie nowego systemu operacyjnego. Dzięki nim możliwe jest też tworzenie kopii zapasowej istniejącego systemu operacyjnego, ale też do uruchamianie niezaufanego kodu w wyizolowanym środowisku. Wśród praktycznych zastosowań jest też uzyskiwanie dostępu do zainfekowanych danych czy też uzyskanie pełnej kontroli nad systemem operacyjnym, choćby w celu przeanalizowania jego pracy. Z pomocą maszyny wirtualnej można też uruchomić starą aplikację wymagającej starszej wersji systemu operacyjnego. Wirtualne maszyny pozwalają także na bezpieczne rozdzielanie zasobów serwerów i dużych maszyn. Jak więc widać, ich wiodące zastosowanie wynika z podstawowej cechy, czyli z możliwości zapewnienia uniwersalnego środowiska uruchomieniowego.

Maszyny wirtualne są niezbędnym elementem pracy informatyków i programistów, którzy na co dzień uruchamiają istniejące aplikacje i systemy operacyjne w innych środowiskach niż pierwotne, rozdzielają zasoby dużych maszyn, sprawują pełną kontrolę nad systemami operacyjnymi, zajmują się testowaniem i optymalizacją pracy programów.

Comments

comments