¿Cuál es la diferencia entre las carpetas "System32" y "SysWOW64" en Windows?

¿Cuál es la diferencia entre las carpetas «System32» y «SysWOW64» en Windows?

En las versiones de Windows de 64 bits, tiene dos carpetas de Archivos de programa independientes. Pero no se detiene ahí. También tiene dos directorios del sistema separados donde se almacenan las bibliotecas DLL y los ejecutables: System32 y SysWOW64. A pesar de los nombres, System32 está lleno de archivos de 64 bits y SysWOW64 está lleno de archivos de 32 bits. Entonces, ¿qué pasa?

¿Qué es System32?

El directorio System32 contiene archivos de sistema de Windows, tanto archivos de biblioteca .DLL utilizados por programas como utilidades de programas .EXE que forman parte de Windows. Si bien la mayoría de los archivos que encontrará aquí son parte del sistema operativo Windows, a veces los programas de software de terceros instalan sus propios archivos DLL en esta carpeta.

Las aplicaciones que se ejecutan en su sistema se pueden instalar en su carpeta Archivos de programa o en otro lugar, pero a menudo cargan bibliotecas de todo el sistema desde la carpeta System32.

Separación de bibliotecas de 32 y 64 bits

En una versión de Windows de 64 bits, tiene una carpeta C: Archivos de programa que contiene programas de 64 bits y sus archivos, y una carpeta C: Archivos de programa (x86) que contiene programas de 32 bits y sus archivos. Es útil separar estos archivos porque los programas de 64 bits necesitan archivos DLL de 64 bits y los programas de 32 bits necesitan archivos DLL de 32 bits.

Si un programa de 32 bits carga un archivo DLL que necesita, encuentra una versión de 64 bits e intenta cargarlo, se bloqueará. Al separar el software de 64 y 32 bits en dos carpetas de Archivos de programa diferentes, Windows se asegura de que no se mezclen ni causen problemas.

Sin embargo, no todos los archivos DLL se almacenan en Archivos de programa. Muchas bibliotecas de todo el sistema incluidas con Windows se almacenan en C: System32, y algunos programas también descargan sus propios archivos de biblioteca aquí. Así que, al igual que Windows tiene carpetas de Archivos de programa separadas de 32 y 64 bits, también tiene versiones separadas de 32 y 64 bits de la carpeta System32.

System32 y SysWOW64

En una computadora de 32 bits, todos los programas de 32 bits almacenan sus archivos en C: Archivos de programa y la ubicación de la biblioteca de todo el sistema es C: System32.

En una computadora de 64 bits, los programas de 64 bits almacenan sus archivos en C: Archivos de programa, y ​​la carpeta C: Windows System32 de todo el sistema contiene bibliotecas de 64 bits. Los programas de 32 bits almacenan sus archivos en C: Archivos de programa (x86) y la carpeta de todo el sistema es C: Windows SysWOW64.

Ciertamente es contradictorio. A pesar del «32» en el nombre, la carpeta System32 contiene bibliotecas de 64 bits. Y, a pesar del 64 en el nombre, la carpeta SysWOW64 contiene bibliotecas de 32 bits, al menos en las versiones de Windows de 64 bits.

Por lo general, no necesitará saber esto. El sistema operativo Windows y los programas que usa colocan automáticamente sus archivos en la ubicación correcta y usan la carpeta correcta. Sin embargo, si alguna vez necesita instalar manualmente un archivo DLL en la ubicación correcta o encontrar la ubicación de instalación, lo cual es muy raro, necesitará saber cuál es cuál.

WOW64, explicado

La parte «WOW64» del nombre aquí se refiere al software «Windows de 32 bits en Windows de 64 bits» de Microsoft, que es parte del sistema operativo. Esto permite que Windows ejecute programas de 32 bits en una versión de Windows de 64 bits. WoW64 redirige el acceso a los archivos para asegurarse de que los programas funcionen correctamente.

Por ejemplo, si instala un programa de 32 bits en una versión de Windows de 64 bits e intenta escribir en la carpeta C: Archivos de programa, WoW64 lo apunta a C: Archivos de programa (x86). Y, si quiere acceder a la carpeta C: Windows System32, WoW64 lo apunta a C: Windows SysWOW64. Windows hace esto usando un redirector del sistema de archivos.

Todo esto sucede de forma automática y transparente en segundo plano. El programa ni siquiera necesita saber que se está ejecutando en un sistema operativo de 64 bits, lo que permite que los programas más antiguos de 32 bits se ejecuten sin modificaciones en versiones de Windows de 64 bits. WOW64 también redirige el acceso al registro, asegurando que haya áreas separadas del registro para programas de 64 y 32 bits.

Entonces, ¿por qué System32 de 64 bits y SysWOW64 de 32 bits?

Todo esto vuelve a la pregunta del millón de dólares: ¿por qué la carpeta «System32» es de 64 bits y SysWOW64 de 32 bits?

La respuesta parece ser que muchas aplicaciones de 32 bits han sido codificadas para usar el directorio C: Windows System32. Cuando los desarrolladores recompilaron estas aplicaciones para las versiones de 64 bits de Windows, continuaron usando el directorio C: Windows System32.

En lugar de cambiar el nombre del directorio y obligar a los desarrolladores a cambiar al nuevo, interrumpiendo muchas aplicaciones en el proceso, Microsoft dejó «System32» como el directorio estándar de la biblioteca del sistema. Crearon un nuevo directorio de biblioteca para aplicaciones que se ejecutan bajo la capa WoW64, al que llamaron «SysWOW64». Cuando lo piensas de esa manera, el nombre tiene más sentido.

Sí, es un poco tonto que un directorio con «32» en el nombre ahora sea de 64 bits. Tal vez Microsoft debería haber visto venir esto cuando lo nombraron C: Windows System32 en los años 90. Pero, aunque un esquema de nomenclatura más simple sería bueno, no vale la pena romper un montón de programas y crear más trabajo para los desarrolladores solo para hacerlo. ocurrir. Esto significa que estamos atascados con System32 y SysWOW64 en el futuro previsible.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas