Wirtualizacja międzyplatformowa
Wirtualizacja międzyplatformowa to forma wirtualizacji komputerów , która umożliwia oprogramowaniu skompilowanemu dla określonego zestawu instrukcji i systemu operacyjnego działanie niezmodyfikowane na komputerach z różnymi procesorami i/lub systemami operacyjnymi dzięki połączeniu dynamicznej translacji binarnej i mapowania wywołań systemu operacyjnego.
Ponieważ oprogramowanie działa na zwirtualizowanym odpowiedniku oryginalnego komputera, nie wymaga ponownej kompilacji ani przenoszenia , oszczędzając w ten sposób czas i zasoby programistyczne. Jednak narzut przetwarzania związany z translacją binarną i mapowaniem wywołań powoduje obniżenie wydajności w porównaniu z oprogramowaniem kompilowanym natywnie. Z tego powodu wirtualizacja międzyplatformowa może być używana jako rozwiązanie tymczasowe do czasu udostępnienia zasobów do przeniesienia oprogramowania. Alternatywnie, wirtualizacja międzyplatformowa może być wykorzystana do obsługi starszego kodu, który działający na nowszej i szybszej maszynie nadal zachowuje odpowiednią wydajność nawet przy narzutach związanych z wirtualizacją.
Tworząc warstwę abstrakcji zdolną do uruchamiania oprogramowania skompilowanego dla innego systemu komputerowego, wirtualizacja międzyplatformowa charakteryzuje wymagania wirtualizacji Popka i Goldberga przedstawione przez Geralda J. Popka i Roberta P. Goldberga w ich artykule z 1974 r. „Formalne wymagania dotyczące wirtualizowalnych architektur trzeciej generacji ". Wirtualizacja międzyplatformowa różni się od prostej emulacji i translacji binarnej — które obejmują bezpośrednie tłumaczenie jednego zestawu instrukcji na inny — ponieważ włączenie mapowania wywołań systemu operacyjnego zapewnia pełniejsze zwirtualizowane środowisko. Wirtualizacja międzyplatformowa jest również uzupełnieniem rozwiązań do serwerów i pulpitów , ponieważ są one zazwyczaj ograniczone do jednego zestawu instrukcji, takiego jak x86 lub Power ISA . Nowoczesne warianty wirtualizacji międzyplatformowej mogą wykorzystywać techniki akceleracji sprzętowej, aby zrekompensować część kosztów poniesionych w związku z translacją systemu typu gość-host.
Zobacz też
- Symulator zestawu instrukcji
- Wirtualizacja platformy
- Maszyna wirtualna
- Emulator
- Portowanie
- Międzyplatformowe
- ^ Gerald J. Popek i Robert P. Goldberg (1974). „Formalne wymagania dotyczące wirtualizowalnych architektur trzeciej generacji” . Komunikaty ACM . 17 (7): 412–421. doi : 10.1145/361011.361073 . S2CID 53302633 .
- Bibliografia _ Wagstaff, Harry; Franke, Björn (2016-12-28). „Wirtualizacja całego systemu z akceleracją sprzętową między różnymi architekturami” . Transakcje ACM dotyczące architektury i optymalizacji kodu . 13 (4): 36. doi : 10.1145/2996798 . ISSN 1544-3566 .