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

Nas versões de 64 bits do Windows , você tem duas pastas separadas de Arquivos de Programas. Mas não termina aí. Você também tem dois diretórios de sistema separados onde as bibliotecas DLL e executáveis ​​são armazenados: System32 e SysWOW64. Apesar dos nomes, System32 está cheio de arquivos de 64 bits e SysWOW64 está cheio de arquivos de 32 bits. Então, o que dá?

O que é System32?

RELACIONADOS: O que são arquivos DLL e por que um está faltando no meu PC?

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

Os aplicativos em execução no sistema podem ser instalados na pasta Arquivos de programas ou em outro lugar, mas geralmente carregam bibliotecas do sistema inteiro 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.

Recomendado:  Como modificar o ícone de um arquivo EXE

Se um programa de 32 bits carregar um arquivo DLL de que precisa, encontrar uma versão de 64 bits e tentar carregá-la, ele travará. Ao separar os softwares de 64 bits e 32 bits em duas pastas diferentes de Arquivos de Programas, 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 do 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 possui pastas separadas de Arquivos de Programas de 32 bits e 64 bits, ele também possui versões separadas de 32 bits 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 de todo o sistema é C: \ System32.

Em um computador de 64 bits, os programas de 64 bits armazenam seus arquivos em C: \ Arquivos de Programas 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 do 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 um está instalado – o que é muito raro – você precisará saber qual é qual.

Recomendado:  Raspberry Pi Pico W custa apenas US $ 6 e é superminúsculo

WOW64, explicado

A parte “WOW64” do nome aqui se refere ao software “Windows 32-bit no Windows 64-bit” da Microsoft, que faz parte do sistema operacional. Isso permite que o Windows execute programas de 32 bits em uma versão de 64 bits do Windows. O WoW64 redireciona o acesso ao arquivo para garantir que os programas funcionem corretamente.

Por exemplo, se você instalar um programa de 32 bits em uma versão de 64 bits do Windows e ele tentar gravar na pasta C: \ Arquivos de programas, o WoW64 apontará para C: \ Arquivos de programas (x86). E, se quiser acessar a pasta C: \ Windows \ System32, WoW64 aponta para 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 de 32 bits mais antigos 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 o System32 é de 64 bits e o SysWOW64 de 32 bits?

Tudo isso nos traz de volta à pergunta de um milhão 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 recompilaram esses aplicativos para versões de 64 bits do Windows, eles continuaram a usar o diretório C: \ Windows \ System32.

Recomendado:  As melhores ofertas do primeiro dia em dispositivos de armazenamento, teclados mecânicos e muito mais

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

Sim, é um pouco bobo que um diretório com “32” no nome agora seja de 64 bits. Talvez a Microsoft devesse ter percebido isso quando o nomeou C: \ Windows \ System32 nos anos 90. Mas, embora um esquema de nomenclatura mais simples fosse 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 SysWOW64 no futuro próximo.