Wine é um emulador ou camada de compatibilidade?

8

Ontem, tive uma discussão calorosa com um amigo meu (usuário do Windows). Ele disse que o vinho é apenas um emulador. Eu disse que não vinho é lido como "vinho não é um emulador". Então ele me deu muitos links, incluindo a página wiki do WineHQ . "Wine não é esse tipo de emulador" está escrito lá.

Então eu quero perguntar se Wine é um emulador porque se chama "Wine não é um emulador"?

    
por puneet 12.05.2011 / 14:35

2 respostas

14

Um programa no Windows faz uso extensivo de bibliotecas padrão que pertencem ao Microsoft Windows. Essas bibliotecas são reescritas e implementadas no Wine para que elas façam o mesmo. Quanto mais um programa é bem escrito e as bibliotecas padrão, maior a chance de o programa funcionar no Wine.

O código de um programa é examinado primeiro para chamar as bibliotecas do Windows. Essas chamadas são traduzidas para que as bibliotecas do Wine sejam chamadas. Então o código do programa executado a toda velocidade. Não há código emulado, mas somente as chamadas para as bibliotecas são traduzidas.

Portanto, em teoria. um programa deve funcionar tão rápido quanto o Microsoft Windows. Na prática, o programa pode ser mais lento, porque a tradução é feita. Mas existe a possibilidade de um programa funcionar mais rápido porque as bibliotecas do Wine são mais simples e porque o acesso ao disco é mais rápido no Linux.

Como o Linux usa o OpenGL, os programas do Windows que usam o OpenGL geralmente funcionam bem no Wine. O Linux não usa o DirectX - no entanto, os jogos DirectX funcionam no Wine porque as chamadas do DirectX podem ser traduzidas por chamadas do Wine para OpenGL.

    
por glaasje 12.05.2011 / 14:55
4

Do mesmo link que você apontou, "Wine não faz emulação de CPU" É isso que os emuladores costumam fazer (wii, psx, n64, etc)

Para uma resposta mais completa, você pode ler o primeiro parágrafo do link que você forneceu - não acho que alguém possa explicá-lo de uma maneira melhor.

    
por Chriskin 12.05.2011 / 14:38

Tags