compatibiliteitslaag
Een compatibiliteitslaag is een softwarelaag die tussen een toepassing en het onderliggende besturingssysteem opereert om compatibiliteit te realiseren tussen verschillende software-omgevingen. Het doel is om software die voor een andere API, een ander besturingssysteem of andere hardware is geschreven zonder aanpassingen aan de broncode of herbouw uitvoerbaar te maken.
De laag werkt door veelvoorkomende systeemaanroepen en bibliotheekfuncties te onderscheppen en deze te vertalen naar native
Typen compatibiliteitslagen omvatten API-compatibiliteit, waarbij de interfaces van een andere omgeving worden nagebootst (bijvoorbeeld Windows-API op
Implementatie gebeurt meestal met wrappers en shims, dynamische linking en interpositie van symbolen; preloaders kunnen oproepen
Voordelen zijn onder meer het hergebruik van bestaande software en lagere porteringinspanningen. Nadelen zijn beperkte dekking,
Een bekend voorbeeld is Wine, een Windows-compatibiliteitslaag op Unix-achtige systemen. Een andere context is kernel-compatibility-mechanismen die