Compatibiliteitslaag

Een compatibiliteitslaag is een software-interface waarmee toepassingen die zijn geschreven en gecompileerd voor één besturingssysteem of hardwarearchitectuur, kunnen worden uitgevoerd op een ander hostsysteem. De laag ontvangt API-aanroepen en andere systeemfuncties die voor één omgeving zijn ontworpen en vertaalt deze naar aanroepen die het hostsysteem kan begrijpen.

Compatibiliteitslagen kunnen een vergelijkbare functie hebben als emulatie en virtualisatie, doordat ze software die voor één omgeving is geschreven bijvoorbeeld (Windows op een x86-processor) kunnen uitvoeren in een ander besturingssysteem op vergelijkbare hardware (Linux op een x86-processor) of in een vergelijkbaar besturingssysteem op een andere hardwarearchitectuur (Windows op een ARM-processor). Dit doen ze door elke systeem-API-aanroep te onderscheppen die het programma naar zijn oorspronkelijke omgeving probeert te sturen en deze om te zetten in de overeenkomstige aanroepen naar de nieuwe hostomgeving.

Enkele bekende compatibiliteitslagen zijn Wine (waarmee Windows-programma's op Linux kunnen worden uitgevoerd door de Windows-API te implementeren), Rosetta 2 op macOS waarmee macOS-apps die voor x86 zijn gecompileerd, op (Apple Silicon kunnen worden uitgevoerd) en WOW64 op Windows waarmee Windows-apps die voor x86 zijn gebouwd, op (x86-64- en ARM-processors kunnen worden uitgevoerd).

Het uitvoeren van software in een compatibiliteitslaag gebruikt vaak minder systeembronnen dan het emuleren van een andere omgeving of het uitvoeren van een virtuele machine. Sommige software kan echter fouten vertonen of extra configuratie vereisen om correct te werken bij gebruik van een compatibiliteitslaag.

Vergelijking met emulatie en virtualisatie

Emulators, virtualisatie en compatibiliteitslagen worden allemaal vaak gebruikt om software voor een andere omgeving uit te voeren. Elke methode voert die taak op een andere manier uit.

Een emulator gebruikt software om zowel de hardware als de software van een apparaat opnieuw te creëren en zo de volledige omgeving te emuleren. Omdat het emuleren van hardwareapparaten in software aanzienlijke systeembronnen vereist, moet een hostsysteem aanzienlijk sneller zijn dan de hardware die het emuleert om vergelijkbare prestaties te bereiken. Een compatibiliteitslaag die bedoeld is om tussen twee hardwareplatforms te vertalen, bevat een hardware-emulator en gebruikt die alleen wanneer dat nodig is, in plaats van de volledige omgeving voortdurend te emuleren.

Een virtuele machine simuleert een volledige computer op de hardware van de hostmachine. Deze voert een kopie van een besturingssysteem uit en gebruikt een softwarelaag om gevirtualiseerde hardwareaanroepen te vertalen naar de hardware van de hostmachine. Een compatibiliteitslaag vertaalt alleen de aanroepen die nodig zijn en simuleert daarbij geen hardware- of softwareaanroepen die niet nodig zijn.

Bijgewerkt November 7, 2022 door Brian P.

quizTest je kennis

What is a reward offered for finding and reporting software vulnerabilities called?

A
Malware payload
0%
B
Smart contract
0%
C
Bug bounty
0%
D
Virus definition
0%
Correct! Incorrect!     View the Bug Bounty definition.
More Quizzes →

Het Tech Terms computerwoordenboek

De definitie van Compatibiliteitslaag op deze pagina is een originele definitie geschreven door de auteurs van TechTerms.com. Als je naar deze pagina wilt verwijzen of deze definitie wilt citeren, gebruik dan de groene citatiebalk direct onder de definitie.

Ons doel is om computerterminologie op een begrijpelijke manier uit te leggen. We streven naar nauwkeurigheid en eenvoud bij elke definitie die we publiceren. Als je feedback hebt over deze definitie of een nieuwe technische term wilt voorstellen, neem dan contact met ons op.

De Tech Terms-nieuwsbrief

Verbeter je technische kennis met onze dagelijkse of wekelijkse nieuwsbrief! Abonneer je vandaag nog en ontvang nieuwe termen en quizzen in je inbox.

Schrijf je in voor de gratis TechTerms-nieuwsbrief

Hoe vaak wil je een e-mail ontvangen?

Je kunt je op elk moment uitschrijven of je frequentie wijzigen via de links in elke e-mail. Vragen? Neem contact met ons op.

Let op: de nieuwsbrief wordt in het Engels verzonden.