Oszczędności, rozwój technologii komputerowych i wzrost wydajności sprzętu spowodowały dynamiczny skok popularności różnych metod wirtualizacyjnych. Zamiast inwestować w zestawy komputerowe, wystarczy zakupić wydajny serwer i na nim uruchamiać systemy klienckie. Podobnie jest ze środowiskami testowymi. Koszt uruchomienia nawet niewielkiej wirtualnej sieci jest o wiele niższy niż tworzenie fizycznej infrastruktury, nie wspominając o nakładach potrzebnych na jej zarządzanie.
Wirtualizacja w świecie komputerów może dotyczyć sprzętu, systemu operacyjnego albo całej sieci. To pojęcie obejmujące systemy sprzętowe i programowe pozwalające odseparować zasoby oraz obiekty korzystające z tych zasobów. Wirtualizacja może dotyczyć rozdzielenia sprzętu od systemu operacyjnego, systemów od siebie nawzajem, od aplikacji bądź danych. Uniezależnia całkowicie system od sprzętu, na którym został zainstalowany.
Dzięki wirtualizacji na jednym komputerze może być uruchomionych jednocześnie kilka systemów lub kilka różnych wersji językowych tego samego programu. Wirtualizuje się stacje robocze, serwery, a nawet całą infrastrukturę IT. Technologia ta pozwala podnieść poziom bezpieczeństwa i w określonych warunkach zmniejszyć koszty funkcjonowania przedsiębiorstwa. Ułatwia też zarządzanie i obsługę, a także ogranicza awaryjność.
Maszyny wirtualne zarządzane są za pomocą menedżera. Nosi on nazwę środowiska wirtualizacyjnego bądź hipernadzorcy (ang. hipervisor) i może funkcjonować na dwóch poziomach. Hipernadzorca typu pierwszego instalowany jest bezpośrednio na sprzęcie i w nim umieszczane są systemy gości. Typ drugi oznacza, że hipernadzorca instaluje się w systemie operacyjnym, a system gościa stanowi dopiero trzeci poziom.
Wirtualizacja a emulacja
Emulacja to rodzaj niepełnej wirtualizacji. To mechanizm całkowitego oddzielenia od siebie dwóch różnych warstw komputera. Korzystające z zasobów sprzętowych programy nie mają bezpośredniego dostępu do tych zasobów. Każde odwołanie jest obsługiwane przez emulator, który „udaje” wszystkie elementy środowiska. Ten sposób funkcjonowania powoduje jednak znaczący spadek wydajności. Rodzajem emulacji jest tak zwana emulacja API. Opiera się ona na tym, że wszystkie programy komunikują się z systemem operacyjnym za pomocą ograniczonego zestawu funkcji. Ich zasymulowanie pozwala na działanie aplikacji napisanej dla jednego systemu operacyjnego w zupełnie innym środowisku. Technologia ta wykorzystywana jest na przykład przez Wine, środowisko za pomocą którego można instalować windowsowe programy w Linuksie.
Celem pełnej wirtualizacji jest jak najszersze, bezpośrednie wykorzystanie zasobów sprzętowych. Jedynie operacje, które mogłyby powodować konflikt z otoczeniem (sprzętem, systemem, innymi maszynami wirtualnymi) są przechwytywane i obsługiwane przez środowisko wirtualizacyjne. Jeżeli obsługa ta jest całkowicie niezależna od systemu gościa, mówi się o pełnej wirtualizacji, jeżeli zaś mechanizm rozwiązywania konfliktów angażuje system gościa, to jest to parawirtualizacja.
Jest wiele systemów umożliwiających wirtualizację, ale najpopularniejsze i najbardziej znane to bezpłatny VirtualBox oraz wyznaczający od lat standardy w tej dziedzinie VMware. Powszechnie dostępna jest także technologia Hyper-V, która jest częścią Windows 10.
Pokażemy, jak przygotować i skonfigurować środowisko hipernadzorcy pod instalację wirtualnego systemu, na przykład Linuksa w Windows albo starego DOS-a, by można było zagrać w starą grę. Nasze porady bazują na bezpłatnym i powszechnym VirtualBoksie oraz windowsowym Hyper-V.