Qual é a diferença entre as pastas “System32” e “SysWOW64” no Windows?

Índice:

Qual é a diferença entre as pastas “System32” e “SysWOW64” no Windows?
Qual é a diferença entre as pastas “System32” e “SysWOW64” no Windows?

Vídeo: Qual é a diferença entre as pastas “System32” e “SysWOW64” no Windows?

Vídeo: Qual é a diferença entre as pastas “System32” e “SysWOW64” no Windows?
Vídeo: Câmera de Segurança por Celular - Vale a Pena? - YouTube 2024, Maio
Anonim
Em versões de 64 bits do Windows, você tem duas pastas de arquivos de programas separadas. Mas isso não termina aí. Você também tem dois diretórios de sistema separados, nos quais as bibliotecas DLL e os executáveis são armazenados: System32 e SysWOW64. Apesar dos nomes, o System32 está cheio de arquivos de 64 bits e o SysWOW64 está cheio de arquivos de 32 bits. Então, o que dá?
Em versões de 64 bits do Windows, você tem duas pastas de arquivos de programas separadas. Mas isso não termina aí. Você também tem dois diretórios de sistema separados, nos quais as bibliotecas DLL e os executáveis são armazenados: System32 e SysWOW64. Apesar dos nomes, o System32 está cheio de arquivos de 64 bits e o SysWOW64 está cheio de arquivos de 32 bits. Então, o que dá?

O que é o System32?

O diretório System32 contém arquivos de sistema do Windows, ambos os arquivos de biblioteca.DLL usados por programas e utilitários de programa.EXE que fazem parte do Windows. Embora a maioria dos arquivos encontrados aqui sejam parte do sistema operacional Windows, os programas de software de terceiros, às vezes, também instalam seus próprios arquivos DLL nessa pasta.

Aplicativos em execução no sistema podem ser instalados na pasta Arquivos de Programas ou em outro local, mas eles geralmente carregam bibliotecas de todo o sistema a partir da pasta System32.

Separando Bibliotecas de 32 e 64 bits

Em uma versão de 64 bits do Windows, você tem uma pasta C: Arquivos de Programas contendo programas de 64 bits e seus arquivos, e uma pasta C: Arquivos de Programas (x86) contendo programas de 32 bits e seus arquivos. É útil que esses arquivos sejam separados porque os programas de 64 bits precisam de arquivos DLL de 64 bits e os programas de 32 bits precisam de arquivos DLL de 32 bits.
Em uma versão de 64 bits do Windows, você tem uma pasta C: Arquivos de Programas contendo programas de 64 bits e seus arquivos, e uma pasta C: Arquivos de Programas (x86) contendo programas de 32 bits e seus arquivos. É útil que esses arquivos sejam separados porque os programas de 64 bits precisam de arquivos DLL de 64 bits e os programas de 32 bits precisam de arquivos DLL de 32 bits.

Se um programa de 32 bits vai carregar um arquivo DLL necessário, encontrar uma versão de 64 bits e tentar carregá-lo, ele falhará. Ao separar o software de 64 bits e 32 bits em duas pastas de arquivos de programas diferentes, o Windows garante que eles não se misturem e causem problemas.

No entanto, nem todos os arquivos DLL são armazenados em arquivos de programas. Muitas bibliotecas de todo o sistema incluídas no Windows são armazenadas em C: System32, e alguns programas também despejam seus próprios arquivos de biblioteca aqui. Portanto, assim como o Windows tem pastas de Arquivos de Programas separadas de 32 e 64 bits, ele também possui versões separadas de 32 e 64 bits da pasta System32.

System32 e SysWOW64

Em um computador de 32 bits, todos os programas de 32 bits armazenam seus arquivos em C: Arquivos de Programas e o local da biblioteca em todo o sistema é C: System32.

Em um computador de 64 bits, os programas de 64 bits armazenam seus arquivos em C: Program Files e a pasta C: Windows System32 do sistema inteiro contém bibliotecas de 64 bits. Os programas de 32 bits armazenam seus arquivos em C: Arquivos de Programas (x86) e a pasta do sistema é C: Windows SysWOW64.

Isso é definitivamente contra-intuitivo. Apesar do “32” no nome, a pasta System32 contém bibliotecas de 64 bits. E, apesar dos 64 no nome, a pasta SysWOW64 contém bibliotecas de 32 bits - pelo menos nas versões de 64 bits do Windows.

Em geral, você não precisa saber disso. O sistema operacional Windows e os programas que você usa colocam automaticamente seus arquivos no local correto e usam a pasta correta. No entanto, se você precisar instalar manualmente um arquivo DLL no local correto ou descobrir onde ele está instalado, o que é muito raro, será necessário saber qual é qual.

WOW64, explicado

Por exemplo, se você instalar um programa de 32 bits em uma versão de 64 bits do Windows e tentar gravar na pasta C: Arquivos de Programas, o WoW64 a apontará em C: Arquivos de Programas (x86). E, se quiser acessar a pasta C: Windows System32, o WoW64 a aponta em C: Windows SysWOW64. O Windows faz isso usando um redirecionador de sistema de arquivos.

Tudo isso acontece de forma automática e transparente em segundo plano. O programa nem precisa saber que está sendo executado em um sistema operacional de 64 bits, o que permite que programas antigos de 32 bits sejam executados sem modificação nas versões de 64 bits do Windows. O WOW64 também redireciona o acesso ao registro, garantindo que haja áreas separadas do registro para programas de 64 e 32 bits.

Então, por que é System32 64-bit e SysWOW64 32-bit?

Tudo isso nos leva de volta à pergunta de milhões de dólares: por que a pasta “System32” é de 64 bits e a SysWOW64 é de 32 bits?

A resposta parece ser que muitos aplicativos de 32 bits foram codificados para usar o diretório C: Windows System32. Quando os desenvolvedores recompilavam esses aplicativos para versões de 64 bits do Windows, eles continuavam usando o diretório C: Windows System32.

Em vez de renomear o diretório e forçar os desenvolvedores a migrarem para o novo, quebrando muitos aplicativos no processo, a Microsoft deixou o “System32” como o diretório padrão da biblioteca do sistema. Eles criaram um novo diretório de bibliotecas para aplicativos em execução na camada WoW64, que eles chamaram de “SysWOW64”. Quando você pensa assim, o nome faz mais sentido.

Sim, é um pouco bobo que um diretório com “32” no nome seja agora de 64 bits. Talvez a Microsoft devesse ter percebido isso quando o chamaram C: Windows System32 nos anos 90. Mas, embora um esquema de nomenclatura mais simples seja bom, não vale a pena quebrar um monte de programas e criar mais trabalho para os desenvolvedores apenas para chegar lá. Isso significa que estamos presos ao System32 e ao SysWOW64 no futuro previsível.

Recomendado: