Vrstva kompatibility - Compatibility layer
v softwarové inženýrství, a vrstva kompatibility je rozhraní, které umožňuje binární soubory pro starší nebo cizí systém běžící na hostitelském systému. To se překládá systémová volání pro cizí systém do nativního systému volá hostitelský systém. S nějakým knihovny pro zahraniční systém to často postačí ke spuštění cizích binárních souborů v hostitelském systému. Vrstva kompatibility hardwaru se skládá z nástrojů, které umožňují emulace hardwaru.
Software
Mezi příklady patří:
- Víno, který některé provozuje Microsoft Windows binární soubory zapnuty Unixový systémy využívající programový zavaděč a Windows API implementováno v DLL
- Okna Vrstvy kompatibility aplikací pro pokus o spuštění špatně napsaných aplikací nebo aplikací napsaných pro dřívější verze platformy.[1]
- Lina, který provozuje některé binární soubory pro Linux v systému Windows, Mac OS X a unixové systémy s nativním vzhledem a dojmem.
- KernelEX, který provozuje některé programy pro Windows 2000 / XP na Windows 98 / Me.
- Vykonavatel, který provozuje „klasické“ programy Mac OS založené na 68k ve Windows, Mac OS X a Linux.
- Anbox, an Android vrstva kompatibility pro Linux.
- Columbia Cycada, který běží Apple iOS aplikace na Android systémy
- Kříženci, knihovna, která převádí Bionic na volání glibc.
- zlatíčko moje, překladová vrstva, která se pokouší spustit binární soubory Mac OS X a Darwin v systému Linux.
- Subsystém Windows pro Linux, který provozuje binární soubory pro Linux v systému Windows.
- Cygwin, a POSIX -kompatibilní prostředí, které běží nativně na Windows.[2]
- 2ine, projekt ke spuštění OS / 2 aplikace na Linuxu[3]
Vrstva kompatibility ve Windows jádro:
- Vrstva kompatibility s Linuxem FreeBSD, který umožňuje binární soubory vytvořené speciálně pro Linux běžet dál FreeBSD[4] stejným způsobem jako nativní vrstva FreeBSD API.[5] FreeBSD má také některé unixové systémové emulace, včetně NDIS, NetBSD, PECoff, SVR4 a různých verzí FreeBSD s CPU.[6]
- NetBSD má několik unixových systémových emulací.[7]
- Subsystém Windows pro Linux poskytuje a Linux -kompatibilní rozhraní jádra vyvinuté společností Microsoft a neobsahující žádný kód Linux, s Ubuntu uživatelský režim binární soubory běží nad ním.[8]
- PEACE Project (aka COMPAT_PECOFF) má pro NetBSD vrstvu kompatibilní s Win32. Projekt je nyní neaktivní.
- Na RSTS / E pro PDP-11 řada minipočítače, programy napsané pro běh na Windows RT-11 operační systém mohl běžet (bez opětovné kompilace) na RSTS prostřednictvím běhového systému RT-11 s nastaveným příznakem EMT, což znamená, že RT-11 Instrukce EMT , který odpovídá RSTS EMT, je přesměrován do systému RT-11 Run-Time System, který je převádí na ekvivalentní RSTS EMT. Programy napsané pro přímé využívání výhod RSTS (nebo volání na RSTS v samotném systému Run-Time) to signalizují tím, že druhý Instrukce EMT (obvykle EMT 255) bezprostředně před skutečným kódem RSTS EMT.
Vrstva kompatibility se vyhýbá jak složitosti, tak rychlosti za celý hardware emulace. Některé programy mohou dokonce běžet rychleji než původní, např. některé linuxové aplikace běžící na vrstvě kompatibility Linuxu FreeBSD mohou fungovat lépe než stejné aplikace na Red Hat Linux. Benchmarky se na Wine občas spouštějí, aby se porovnaly s operačními systémy založenými na Windows NT.[9]
Dokonce i na podobných systémech mohou být podrobnosti implementace vrstvy kompatibility docela složité a problematické; dobrým příkladem je IRIX vrstva binární kompatibility v Architektura MIPS verze NetBSD.[10]
Vrstva kompatibility vyžaduje hostitelský systém procesor být (nahoru) kompatibilní zahraničního systému. Například vrstva kompatibility s Microsoft Windows není možná na PowerPC hardware, protože Windows vyžaduje x86 PROCESOR. V tomto případě je nutná plná emulace.
Hardware
Vrstvy kompatibility hardwaru zahrnují nástroje které umožňují emulace hardwaru. Některé vrstvy kompatibility hardwaru zahrnují únikové boxy protože únikové boxy mohou jistě poskytovat kompatibilitu počítačové autobusy které jsou jinak nekompatibilní se strojem.
Viz také
- Hypervisor
- Paravirtualizace
- Emulátor
- Virtualizace mezi platformami
- Výpočetní platforma
- Podložka (výpočet)
- Obálka řidiče
- Kód lepidla
Reference
- ^ Charlie Russel, Microsoft MVP pro Windows Server a Tablet PC (2002-02-18). "Kompatibilita aplikací v systému Windows XP".
- ^ "Cygwin". www.cygwin.com. Citováno 2019-11-23.
- ^ https://www.patreon.com/posts/project-2ine-16513790
- ^ "Linuxová emulace ve FreeBSD".
- ^ "Emulace". freebsd.org. Citováno 2014-03-16.
- ^ „Pohled dovnitř ...“ freebsd.org. Citováno 2014-03-16.
- ^ "Binární emulace NetBSD". netbsd.org. Citováno 2014-03-16.
- ^ BASH Běží v Ubuntu na Windows - MSDN
- ^ BenchMark-0.9.5 Archivováno 09.12.2010 na Wayback Machine - The Official Wine Wiki
- ^ Emmanuel Dreyfus (8. srpna 2002). "Binární kompatibilita IRIX, část 1". onlamp.com. Citováno 2014-03-16.
externí odkazy
- Technologie kompatibility aplikací se systémem Windows XP (Dave Morehouse a Todd Phillips, Microsoft Corporation, 1. června 2001)