Camada de compatibilidade

Uma camada de compatibilidade é uma interface de software que permite que aplicativos escritos e compilados para um sistema operacional ou uma arquitetura de hardware sejam executados em um sistema host diferente. Ela recebe chamadas de API e outras funções do sistema projetadas para um ambiente e as traduz em chamadas que o sistema host consegue entender.

As camadas de compatibilidade podem desempenhar uma função semelhante à emulação e à virtualização, permitindo que softwares escritos para um ambiente por exemplo, o (Windows em um processador x86) sejam executados em um sistema operacional diferente com hardware semelhante (Linux em um processador x86) ou em um sistema operacional semelhante com uma arquitetura de hardware diferente (Windows em um processador ARM). Elas fazem isso interceptando todas as chamadas de API do sistema que o programa tenta fazer para seu ambiente original e convertendo-as nas chamadas equivalentes para o novo ambiente host.

Algumas camadas de compatibilidade conhecidas incluem o Wine (que permite que programas do Windows sejam executados no Linux implementando a API do Windows), o Rosetta 2 no macOS que permite que aplicativos do macOS compilados para x86 sejam executados no (Apple Silicon) e o WOW64 no Windows que traduz aplicativos do Windows desenvolvidos para x86 para que sejam executados em processadores (x86-64 e ARM).

A execução de software em uma camada de compatibilidade geralmente usa menos recursos do sistema do que emular outro ambiente ou executar uma máquina virtual. No entanto, alguns softwares podem apresentar erros ou exigir configuração adicional para funcionar corretamente ao usar uma camada de compatibilidade.

Comparação com emulação e virtualização

Emuladores, virtualização e camadas de compatibilidade são frequentemente usados para executar softwares de outro ambiente. Cada método realiza essa tarefa de uma maneira diferente.

Um emulador usa software para recriar o hardware e o software de um dispositivo, emulando todo o ambiente. Como a emulação de dispositivos de hardware em software exige muitos recursos do sistema, um sistema host precisa ser significativamente mais rápido que o hardware emulado para alcançar um desempenho semelhante. Uma camada de compatibilidade destinada a traduzir entre duas plataformas de hardware incluirá um emulador de hardware, usando-o apenas quando necessário em vez de emular continuamente todo o ambiente.

Uma máquina virtual simula um computador inteiro no hardware da máquina host. Ela executa uma cópia de um sistema operacional e usa uma camada de software para traduzir chamadas de hardware virtualizado para o hardware da máquina host. Uma camada de compatibilidade traduz apenas as chamadas necessárias, fazendo isso sem simular chamadas de hardware ou software de que não precisa.

Atualizado November 7, 2022 por Brian P.

quizTeste seus conhecimentos

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 →

O dicionário de informática Tech Terms

A definição de Camada de compatibilidade nesta página é uma definição original escrita pelos autores do TechTerms.com. Se você quiser fazer referência a esta página ou citar esta definição, use a barra de citação verde logo abaixo da definição.

Nosso objetivo é explicar a terminologia de informática de um jeito fácil de entender. Buscamos precisão e clareza em cada definição que publicamos. Se você tiver comentários sobre esta definição ou quiser sugerir um novo termo técnico, entre em contato.

A newsletter do Tech Terms

Amplie seus conhecimentos técnicos com nossa newsletter diária ou semanal! Assine hoje e receba novos termos e quizzes na sua caixa de entrada.

Assine a newsletter gratuita do TechTerms

Com que frequência você gostaria de receber um e-mail?

Você pode cancelar a assinatura ou alterar a frequência a qualquer momento usando os links disponíveis em cada e-mail. Dúvidas? Entre em contato.

Observação: a newsletter é enviada em inglês.