Kompatibilitetslager (engelska Compatibility layer) översätter systemanrop för det främmande systemet till ursprungliga systemanrop för värdsystemet. Med några bibliotek för det främmande systemet är detta ofta tillräckligt för att köra de utomstående binärer på värdsystemet. Hårdvarukompatibilitetlager involverar verktyg som tillåter maskinvaruemulering.

Mjukvara redigera

Exempel inkluderar:

  • Wine är programvara som låter en användare köra program för Microsoft Windows under andra, unixliknande, operativsystem. Wine lägger till Windows API:er och finns tillgängligt för GNU/Linux, Mac OS, FreeBSD och eventuellt andra BSD-varianter, Opensolaris och Solaris.
  • Lina som kör linuxbinärer på Windows, Mac OS X och unixliknande system.
  • Kompatibilitet lager i kärnan
    • FreeBSD Linux kompatibilitetslager som möjliggör binärer byggda specifikt för Linux att köra på FreeBSD.
    • NetBSD har några Unix-liknande system emuleringar.
    • Mach och Darwin binär kompatibilitet för NetBSD/powerpc and NetBSD/i386.
    • The PEACE Project (även känd som COMPAT_PECOFF) har ett Win32 kompatibilitetslager för NetBSD, projektet är numera inaktivt.

En kompatibilitet lager undviker både komplexiteten och hastighetsstraff för emulering av hårdvara. Emulering av hårdvara kräver ofta mycket stora datorresurser. Vissa program kan även köra snabbare än den ursprungliga som till exempel vissa linuxtillämpningar som körs på FreeBSD Linux kompatibilitetslager kan ibland till och med få bättre resultat med samma program än på Red Hat Linux. Referensvärden kan ibland köra på Wine och jämföra dem med Windows NT-baserade operativsystem.

Även om liknande system kan detaljerna i genomförandet av ett kompatibilitetslager vara ganska invecklad och besvärligt, ett bra exempel är IRIX binär kompatibilitetslager i MIPS arkitekturen versionen av NetBSD.

Ett Microsoft Windows kompatibilitetslager är en inte möjligt på PowerPC hårdvara, eftersom Microsoft Windows kräver en x86 processor, i så fall krävs emulering av hårdvara.

Se även redigera

Referenser redigera


Externa länkar redigera


Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia, tidigare version.