Warstwa zgodności
Warstwa zgodności to interfejs oprogramowania, który umożliwia uruchamianie aplikacji napisanych i skompilowanych dla jednego systemu operacyjnego lub architektury sprzętowej w innym systemie hosta. Odbiera wywołania API i inne funkcje systemowe zaprojektowane dla jednego środowiska, a następnie tłumaczy je na wywołania, które system hosta może zrozumieć.
Warstwy zgodności mogą pełnić podobną funkcję jak emulacja i wirtualizacja, umożliwiając uruchamianie oprogramowania napisanego dla jednego środowiska na przykład systemu (Windows na procesorze x86) w innym systemie operacyjnym na podobnym sprzęcie (Linux na procesorze x86) lub w podobnym systemie operacyjnym na innej architekturze sprzętowej (Windows na procesorze ARM). Osiągają to, przechwytując każde wywołanie systemowego interfejsu API, które program próbuje wykonać w swoim pierwotnym środowisku, i przekształcając je na równoważne wywołania w nowym środowisku hosta.
Uruchamianie oprogramowania w warstwie zgodności często wykorzystuje mniej zasobów systemowych niż emulowanie innego środowiska lub uruchamianie maszyny wirtualnej. Jednak niektóre programy mogą działać nieprawidłowo lub wymagać dodatkowej konfiguracji, aby poprawnie działać w warstwie zgodności.
Porównanie z emulacją i wirtualizacją
Emulatory, wirtualizacja i warstwy zgodności są często używane do uruchamiania oprogramowania z innego środowiska. Każda z tych metod realizuje to zadanie w inny sposób.
Emulator wykorzystuje oprogramowanie do odtworzenia zarówno sprzętu urządzenia, jak i jego oprogramowania, aby emulować całe środowisko. Ponieważ emulowanie urządzeń sprzętowych za pomocą oprogramowania wymaga znacznych zasobów systemowych, system hosta musi być znacznie szybszy niż emulowany sprzęt, aby zapewnić podobną wydajność. Warstwa zgodności służąca do tłumaczenia między dwiema platformami sprzętowymi będzie zawierać emulator sprzętu, ale będzie go używać tylko wtedy, gdy jest to potrzebne, zamiast nieustannie emulować całe środowisko.
Maszyna wirtualna symuluje cały komputer na sprzęcie systemu hosta. Uruchamia kopię systemu operacyjnego i używa warstwy oprogramowania do tłumaczenia wywołań zwirtualizowanego sprzętu na wywołania sprzętu komputera hosta. Warstwa zgodności tłumaczy tylko te wywołania, które są potrzebne, bez symulowania sprzętu ani wywołań oprogramowania, których nie musi symulować.
Sprawdź swoją wiedzę