Co to jest hiperwizor?
Hiperwizor jest unikalnym rodzajem oprogramowania, które pozwala komputerowi na uruchomienie więcej niż jednego systemu operacyjnego (OS). Dzięki procesowi zwanemu wirtualizacją oprogramowanie oszuka każdy system operacyjny w przekonaniu, że ma wyłączny dostęp do określonego zestawu sprzętu. Znajduje się pomiędzy fizycznym sprzętem a systemem operacyjnym i przedstawia wirtualny zestaw sprzętu dla wszystkich innych programów działających na maszynie. Zarządza także przepływem informacji między oprogramowaniem, sprzętem zwirtualizowanym i sprzętem fizycznym. Ten typ oprogramowania jest używany zarówno w ustawieniach konsumenckich, jak i korporacyjnych.
W większości przypadków system operacyjny komputera działa w bardzo uprzywilejowanym stanie, w którym ma nieograniczony dostęp do sprzętu komputera, podczas gdy aplikacje działają w mniej uprzywilejowanym stanie i muszą polegać na systemie operacyjnym. Te różne poziomy uprawnień dostępu do sprzętu są znane jako pierścienie, przy czym system operacyjny tradycyjnie działa w pierścieniu 0; aplikacje użytkownika działają w pierścieniach 1–3, które mają mniej uprawnień. Ten model działa dobrze przez większość czasu, ale całkowicie się rozpada, gdy próbujesz uruchomić więcej niż jeden system operacyjny na jednym komputerze jednocześnie. Hiperwizor rozwiązuje ten problem za pomocą techniki zwanej wirtualizacją.
Wirtualizacja nie jest nowym pomysłem, ale od połowy 2000 roku stała się modnym hasłem, ponieważ korporacje i branża informatyczna (IT) zdały sobie sprawę z możliwości obniżenia kosztów i zwiększenia wydajności. Istnieje wiele różnych podejść do wirtualizacji, ale podstawową ideą jest tworzenie symulowanych zestawów sprzętu, które często są nazywane maszynami wirtualnymi. W przypadku hiperwizora, który można również nazwać monitorem maszyny wirtualnej, każda maszyna wirtualna zawiera system operacyjny „gościa”. Sam hiperwizor może działać bezpośrednio na fizycznym sprzęcie, w takim przypadku jest znany jako „bez systemu” lub w systemie operacyjnym hosta jako hiperwizor „programowy”.
Hiperwizorzy muszą używać bardzo wyrafinowanych technik do zarządzania systemami operacyjnymi gości i zapewnienia, że nie będą ze sobą konfliktować. Ponieważ system operacyjny w maszynie wirtualnej nie jest świadomy tego, że został pozbawiony uprawnień do dzwonienia 0, może próbować wykonywać ograniczone funkcje bez pozwolenia. W takich przypadkach hiperwizor może przechwycić funkcję, zanim dotrze ona do sprzętu, wykonać instrukcje w sposób, który nie spowoduje szkody dla innych systemów operacyjnych działających na sprzęcie, i zwróci wynik do pierwotnego systemu operacyjnego. Znana jako technika „pułapkowania i emulacji”, jest to tylko jedna z wielu zaawansowanych koncepcji unikalnych w świecie wirtualizacji.
Ponieważ tego typu oprogramowanie stało się ważniejsze i bardziej dochodowe, coraz więcej firm szukało sposobów na zmniejszenie obciążenia hiperwizora i zwiększenie wydajności. Dostawcy oprogramowania zmodyfikowali swoje systemy operacyjne, aby mieć świadomość maszyn wirtualnych, na których działają, co oznacza mniej pułapek i emulacji typów scenariuszy. Dostawcy sprzętu dodali obsługę nowego poziomu uprawnień, nazywanego czasem pierścieniem -1. Nowsze programy mogą korzystać z jednej lub obu tych technik w celu zwiększenia wydajności.
Hiperwizory można teraz znaleźć w różnych produktach zarówno na poziomie konsumenta, jak i przedsiębiorstwa. Produkty konsumenckie, które umożliwiają działanie jednego systemu operacyjnego w innym, często korzystają z hiperwizora programowego. W przestrzeni korporacyjnej oprogramowanie umożliwia konsolidację słabo wykorzystywanych serwerów z różnymi systemami operacyjnymi. Twórcy oprogramowania mogą zastosować to podejście do uruchamiania wielu instancji podobnych lub nawet identycznych systemów operacyjnych w celu przetestowania pod kątem problemów ze zgodnością.