Parawirtualizacja - Paravirtualization

W informatyce parawirtualizacja lub para-wirtualizacja to technika wirtualizacji , która przedstawia interfejs oprogramowania maszynom wirtualnym, który jest podobny, ale nie identyczny z podstawowym interfejsem sprzętowo-programowym.

Celem zmodyfikowanego interfejsu jest skrócenie czasu wykonywania przez gościa operacji, które są znacznie trudniejsze do wykonania w środowisku wirtualnym w porównaniu ze środowiskiem niezwirtualizowanym. Parawirtualizacja zapewnia specjalnie zdefiniowane `` punkty zaczepienia '', aby umożliwić gościom i hostowi żądanie i potwierdzenie tych zadań, które w przeciwnym razie byłyby wykonywane w domenie wirtualnej (gdzie wydajność wykonania jest gorsza). Udana parawirtualizowana platforma może pozwolić na prostsze działanie monitora maszyny wirtualnej (VMM) (poprzez przeniesienie wykonywania krytycznych zadań z domeny wirtualnej do domeny hosta) i / lub zmniejszyć ogólne pogorszenie wydajności wykonywania maszyny wewnątrz gościa wirtualnego.

Parawirtualizacja wymaga , aby system operacyjny gościa był jawnie przeniesiony do para- API - konwencjonalna dystrybucja systemu operacyjnego, która nie jest uwzględniająca parawirtualizację, nie może być uruchomiona na parawirtualizującym VMM. Jednak nawet w przypadkach, gdy nie można zmodyfikować systemu operacyjnego, mogą być dostępne komponenty, które zapewniają wiele znaczących zalet parawirtualizacji w zakresie wydajności. Na przykład projekt Xen Windows GPLPV zapewnia zestaw sterowników urządzeń obsługujących parawirtualizację, licencjonowanych na warunkach GPL , które mają zostać zainstalowane na wirtualnym gościu Microsoft Windows działającym na hiperwizorze Xen . Takie aplikacje są zwykle dostępne za pośrednictwem parawiralnego środowiska interfejsu maszyny. Zapewnia to zgodność trybu pracy z wieloma modelami algorytmów szyfrowania, umożliwiając bezproblemową integrację z parawirtualną strukturą.

Historia

Parawirtualizacja to nowe określenie starego pomysłu. System operacyjny VM IBM oferował taką możliwość od 1972 roku (a wcześniej jako CP-67 ). W świecie maszyn wirtualnych jest to określane jako „kod DIAGNOZY”, ponieważ wykorzystuje kod instrukcji używany zwykle tylko przez oprogramowanie do konserwacji sprzętu, a zatem jest niezdefiniowany.

System operacyjny Parallels Workstation nazywa swój odpowiednik „hypercall”. Wszystkie są tym samym: wywołanie systemowe do hiperwizora poniżej. Takie wywołania wymagają obsługi w systemie operacyjnym „gościa”, który musi mieć kod specyficzny dla hiperwizora, aby wykonywać takie połączenia.

Termin „parawirtualizacja” został po raz pierwszy użyty w literaturze naukowej we współpracy z Denali Virtual Machine Manager. Termin ten jest również używany do opisania hiperwizorów Xen , L4 , TRANGO , VMware , Wind River i XtratuM . Wszystkie te projekty wykorzystują lub mogą wykorzystywać techniki parawirtualizacji do obsługi maszyn wirtualnych o wysokiej wydajności na sprzęcie x86 poprzez implementację maszyny wirtualnej, która nie implementuje trudnych do wirtualizacji części rzeczywistego zestawu instrukcji x86.

Hiperwizor zapewnia wirtualizację podstawowego systemu komputerowego. W przypadku pełnej wirtualizacji system operacyjny gościa działa niezmodyfikowany na hiperwizorze. Jednak lepszą wydajność i efektywność uzyskuje się dzięki komunikacji między systemem operacyjnym gościa a hiperwizorem. Umożliwiając systemowi operacyjnemu gościa wskazanie swojego zamiaru hiperwizorowi, każdy może współpracować w celu uzyskania lepszej wydajności podczas pracy na maszynie wirtualnej. Ten rodzaj komunikacji nazywany jest parawirtualizacją.

W 2005 roku firma VMware zaproponowała interfejs parawirtualizacji, interfejs maszyny wirtualnej (VMI), jako mechanizm komunikacji między systemem operacyjnym gościa a hiperwizorem. Ten interfejs umożliwia przejrzystą parawirtualizację, w której pojedyncza binarna wersja systemu operacyjnego może działać na natywnym sprzęcie lub na hiperwizorze w trybie parawirtualizowanym. Ponieważ procesory AMD i Intel dodały obsługę bardziej wydajnej wirtualizacji wspomaganej sprzętowo, standard stał się przestarzały, a obsługa VMI została usunięta z jądra Linuksa w wersji 2.6.37 oraz z produktów VMware w 2011 roku.

W 2008 roku Red Hat ogłosił parawirtualizację VirtIO dla KVM i Linux, dostępny jest również sterownik VirtIO dla Microsoft Windows.

W 2008 roku Microsoft ogłosił parawirtualizację Hyper-V .

Obsługa parawirtualizacji w systemie Linux

Na konferencji USENIX w 2006 roku w Bostonie w stanie Massachusetts wielu producentów oprogramowania Linux (w tym IBM, VMware, Xen i Red Hat) współpracowało nad alternatywną formą parawirtualizacji, pierwotnie opracowaną przez grupę Xen, zwaną „paravirt-ops” . Kod paravirt-ops (często skracany do pv-ops) został zawarty w głównym jądrze Linuksa od wersji 2.6.23 i zapewnia interfejs niezależny od hiperwizora między hiperwizorem a jądrem gościa. Obsługa dystrybucji dla jądra gości pv-ops pojawiła się począwszy od Ubuntu 7.04 i RedHat 9. Hiperwizory Xen oparte na dowolnym jądrze 2.6.24 lub nowszym obsługują gości pv-ops, podobnie jak produkt VMware Workstation począwszy od wersji 6. VirtualBox obsługuje go również od wersji 5.0.

Zobacz też

Bibliografia

Linki zewnętrzne