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.

Do najbardziej znanych warstw zgodności należą Wine (które umożliwia uruchamianie programów Windows w systemie Linux przez implementację interfejsu API Windows), Rosetta 2 w systemie macOS która umożliwia uruchamianie aplikacji macOS skompilowanych dla architektury x86 na komputerach z układami (Apple Silicon) oraz WOW64 w systemie Windows który tłumaczy działanie aplikacji Windows zbudowanych dla architektury x86, aby mogły działać na procesorach (x86-64 i ARM).

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ć.

Zaktualizowano November 7, 2022 przez Brian P.

quizSprawdź swoją wiedzę

109 bytes is equal to one ____?

A
Kilobyte
0%
B
Megabyte
0%
C
Gigabyte
0%
D
Terabyte
0%
Correct! Incorrect!     View the Gigabyte definition.
More Quizzes →

Słownik komputerowy Tech Terms

Definicja Warstwa zgodności na tej stronie jest oryginalną definicją napisaną przez autorów TechTerms.com. Jeśli chcesz odwołać się do tej strony lub zacytować tę definicję, użyj zielonego paska cytowania bezpośrednio poniżej definicji.

Naszym celem jest wyjaśnianie terminologii komputerowej w prosty i zrozumiały sposób. Dążymy do dokładności i prostoty w każdej publikowanej definicji. Jeśli masz uwagi lub chcesz zaproponować nowy termin techniczny, skontaktuj się z nami.

Newsletter Tech Terms

Poszerzaj swoją wiedzę techniczną dzięki naszemu codziennemu lub tygodniowemu newsletterowi! Subskrybuj już dziś i otrzymuj nowe terminy oraz quizy prosto do skrzynki odbiorczej.

Zapisz się do bezpłatnego newslettera TechTerms

Jak często chcesz otrzymywać e-maile?

Możesz wypisać się lub zmienić częstotliwość w dowolnym momencie, korzystając z linków w każdym e-mailu. Pytania? Skontaktuj się z nami.

Uwaga: Newsletter jest wysyłany w języku angielskim.