Parawirtualizacja

https://chacker.pl/

Widzieliśmy, że prawidłowa wirtualizacja architektury x86 jest skomplikowana i w niektórych przypadkach powolna. Mając na celu uproszczenie projektu hiperwizora i poprawę jego wydajności, niektóre implementacje obrały inny kierunek. Zamiast symulować prawdziwy sprzęt, zapewniono syntetyczne interfejsy do komunikacji i współpracy między maszynami wirtualnymi a VMM. Aby korzystać z tych alternatywnych interfejsów, wymagane są modyfikacje systemu operacyjnego gościa. Jednym ze sposobów, w jaki goście parawirtualizowani mogą komunikować się z VMM, są hiperwywołania. Jest to analogiczne do koncepcji wywołań systemowych używanych przez programy użytkownika do żądania usług z jądra systemu operacyjnego, ale w tym przypadku to gość żąda usług od VMM. Hiperwywołania zastępują funkcjonalność zwykle oferowaną przez komponenty sprzętowe, takie jak procesor, MMU,21 sprzętowych timerów i kontroler przerwań, ale mogą również rozszerzać funkcjonalność o powiadomienia między maszynami wirtualnymi i obsługę pamięci współdzielonej. Urządzenia parawirtualizowane mogą zastąpić emulowaną kartę sieciową i urządzenia pamięci masowej, zastępując je modelem podzielonego sterownika. Urządzenia back-endowe działają w hoście (lub w uprzywilejowanej maszynie wirtualnej), a ich zadaniem jest zarządzanie zasobami systemowymi, oferując jednocześnie gościom syntetyczny interfejs (prostszy i szybszy niż emulowany interfejs sprzętowy). Sterowniki front-endowe działające w gościu komunikują się z urządzeniami back-endowymi. Podstawowa warstwa transportowa dla tego modelu może być zbudowana na wierzchu udogodnień komunikacji między maszynami wirtualnymi, zwykle opartych na buforach pierścieniowych nad pamięcią współdzieloną. Wiele aspektów parawirtualizacji pozostaje, nawet po tym, jak wirtualizacja wspomagana sprzętowo pokonała wiele ograniczeń, które ją spowodowały. Ponadto koncepcja hiperwywołania została włączona do sprzętu (VMCALL22). Obecnie większość hiperwizorów oferuje różne stopnie możliwości parawirtualizacji.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *