Vrstva kompatibility
Vrstva kompatibility je softwarové rozhraní, které umožňuje aplikacím napsaným a zkompilovaným pro jeden operační systém nebo hardwarovou architekturu běžet na jiném hostitelském systému. Přijímá volání API a další systémové funkce navržené pro jedno prostředí a překládá je na volání, kterým hostitelský systém rozumí.
Vrstvy kompatibility mohou plnit podobnou funkci jako emulace a virtualizace, protože umožňují softwaru napsanému pro jedno prostředí například (Windows na procesoru x86) běžet buď v jiném operačním systému na podobném hardwaru (Linux na procesoru x86), nebo v podobném operačním systému na jiné hardwarové architektuře (Windows na procesoru ARM). Dělají to tak, že zachytí každé systémové volání API, které se program pokusí provést ve svém původním prostředí, a převedou ho na odpovídající volání v novém hostitelském prostředí.
Spuštění softwaru ve vrstvě kompatibility často využívá méně systémových prostředků než emulace jiného prostředí nebo spuštění virtuálního počítače. Některý software však může při použití vrstvy kompatibility vykazovat chyby nebo vyžadovat další konfiguraci, aby správně fungoval.
Porovnání s emulací a virtualizací
Emulátory, virtualizace a vrstvy kompatibility se často používají ke spuštění softwaru z jiného prostředí. Každá metoda tohoto cíle dosahuje jiným způsobem.
Emulátor pomocí softwaru znovu vytváří hardware i software zařízení, a emuluje tak celé prostředí. Protože emulace hardwarových zařízení pomocí softwaru vyžaduje značné systémové prostředky, hostitelský systém musí být výrazně rychlejší než emulovaný hardware, aby dosáhl podobného výkonu. Vrstva kompatibility určená k překladu mezi dvěma hardwarovými platformami bude obsahovat hardwarový emulátor, který využívá pouze podle potřeby, místo aby neustále emulovala celé prostředí.
Virtuální počítač simuluje celý počítač na hardwaru hostitelského počítače. Spouští kopii operačního systému a pomocí softwarové vrstvy překládá volání virtualizovaného hardwaru na volání hardwaru hostitelského počítače. Vrstva kompatibility překládá pouze volání, která potřebuje, a přitom nesimuluje hardwarová ani softwarová volání, která nejsou nutná.
Otestujte své znalosti