Camada de compatibilidade
Na engenharia de software, é uma interface que permite que binários de um sistema estrangeiro sejam executados em um sistema host. Isso traduz chamadas de sistema do sistema estrangeiro para o sistema host. Com algumas bibliotecas para o sistema externo, isso geralmente é o suficiente para executar binários externos no sistema host.
Programas
[editar | editar código-fonte]Exemplos incluem:
- Wine, é capaz de executar alguns binários do Windows em sistemas Unix ou derivados, usando as bibliotécas do Windows.
- Windows é capaz de executar programas de versões anteriores do sistema.
- Subsistema Linux pode executar binários do Linux por uma camada de compatibilidade para o Windows.
Uma camada de compatibilidade evita as penalidades de performance observadas em emulação. Alguns programas são capazes de executar com um desempenho igual ou superior ao sistema estrangeiro, como pode ser observado no Wine.
Mesmo em sistemas semelhantes, implementar uma camada de compatibilidade pode se mostrar problemático; Um bom exemplo é a camada de compatibilidade binária IRIX na Arquitectura MIPS (Versão do NetBSD)
Esse método exige que a CPU seja compatível com o sistema estrangeiro. Por exemplo, o Windows usa a arquitetura x86, logo uma camada de compatibilidade não funcionaria em PowerPC. Sendo necessário o uso de emulação de hardware.
Ver também
[editar | editar código-fonte]Referências
[editar | editar código-fonte]- «Linux emulation in FreeBSD»
- «Emulation». freebsd.org. Consultado em 16 de março de 2014
- Citação vazia (ajuda)