Freigeben über


Aplicativos 32 Bits no Windows 64 bits

Tudo bem ?

A primeira coisa a entender é que a maioria das aplicativos 32 bits devem funcionar bem no Windows de 64 bits. Para permitir isso, o Windows fornece WoW64 (Detalhes de implementação do WoW64), uma camada de emulação que permite que as aplicativos baseados no Windows 32 bits serem executado diretamente no Windows 64 bits. Windows detecta um pedido 32 bits e executa-lo usando WoW64 automaticamente e a maioria dos aplicativos devem executar transparente sem modificações.

WoW64 é uma capacidade do próprio sistema operacional e não precisa ser habilitado explicitamente. O sistema isola aplicativos 32 bits de aplicativos 64 bits, que inclui a prevenção de colisões de arquivo e registro. Há suporte para console, GUI e aplicações de serviço. O sistema oferece interoperabilidade entre o limite de 32/64 para cenários como “Cust and paste” e COM. No entanto, os processos de 32 bits não consegue carregar DLLs 64 bits para execução e processos de 64 bits não consegue carregar DLLs 32 bits para execução. Esta restrição não se aplica às DLLs carregadas como arquivos de dados ou arquivos de recurso de imagem.

Limitações

Ao mesmo tempo existem algumas limitações conhecidas do WoW64 que pode causar incompatibilidades com algumas tipos de aplicações. Estas questões são discutidas no “White Paper: práticas recomendadas para WoW64 ” que é uma leitura recomendada. Alguns deles estão listados abaixo:

  • O espaço de endereçamento de memoria é limitado a 2 GB por padrão e 4 GB se /LARGEADDRESSAWARE for usado
  • Um processo de 32 bits não pode carregar uma DLL de 64 bits (exceto para certo DLLs de sistema) e vice-versa
  • A execução de processos 16 bits não é suportada
  • DOS (NTVDM Command.com)/ não está disponível
  • O Virtual DOS Machine (VDM) API está desabilitado

Referencias sobre estes assuntos:

 

Ate o próximo blog, Tschuess