Diferencias: Carpetas archivos de programa y (x86) Windows 10, 8, 7
Muchos de nosotros hemos visto cuando accedemos al disco local C que existen dos carpetas llamadas "Archivos de programa" y "Archivos de programa (x86)" en ambientes Windows:
La pregunta que surge es: ¿Qué diferencia hay entre estas dos carpetas? Recordemos que la finalidad de ambas es alojar las aplicaciones instaladas en el sistema.
Es importante e ideal recordar que desde el año 2005, Microsoft tomó la decisión de proveer sus sistemas Windows en arquitecturas de 32 y 64 bits para todos los usuarios ya que originalmente, Windows sólo estaba disponible como un sistema operativo de 32 bits. Es por ello que en las versiones de 32 bits de Windows, incluso las versiones de 32 bits de Windows 10, que todavía vemos en la actualidad, sólo veremos una carpeta C:\Archivos de programa mientras que en los sistemas operativos de 64 bits encontraremos dos carpetas llamadas C:\Archivosdeprograma (C:\Program Files) y C:\Archivosdeprograma 8x86) o C:\Program Files (x86).
Esta carpeta de "Archivos de programa" es la ubicación por defecto de Windows donde los programas que instalamos deben almacenar sus archivos ejecutables, datos y otro tipo de archivos.
La capa WoW64 se encarga de emular un entorno de 32 bits, y cualquier pérdida de rendimiento generalmente no la notamos como usuarios. Los programas emulados tienen una ventaja, porque WoW64 puede asignar la cantidad máxima de RAM (4 GB) a la aplicación. En un sistema real de 32 bits, parte de esa RAM se asignaría al núcleo del sistema operativo ya otros programas en ejecución.
Los sistemas operativos Windows ejecutan aplicaciones de 32 bits en versiones de 64 bits de Windows utilizando algo llamado WOW64, que significa "Windows 32 bits en Windows de 64 bits" pero no puede ejecutar aplicaciones de 64 bits en ambientes de 32 bits.
Cuando ejecutamos un programa de 32 bits en una edición de 64 bits de Windows, la capa de emulación WOW64 redirige este acceso a los archivos desde la ruta "C:\Archivos de programa" a "C:\ Archivos de programa (x86)". Los programas de 32 bits intentan tener acceso al directorio "Archivos de programa" y apuntan a la carpeta "Archivos de programa (x86)". Los programas de 64 bits todavía hacen uso de la carpeta "Archivos" de programa normal.
En ambientes Windows de 32 bits, sólo contaremos con la carpeta "C:\Archivos de programa" la cual contiene todos los programas de 32 bits instalados.
En una versión de Windows de 64 bits de Windows, los programas de 64 bits se almacenan en la carpeta "C:\Archivos de programa" y los programas de 32 bits se almacenan en la carpeta "C:\Archivos de programa (x86)":
- Para distinguir las diversas versiones
- Reducir las posibilidades de un conflicto al ejecutar aplicaciones de 32 bits en ambientes de 64 bits
- Aumenta la probabilidad de que los programas antiguos funcionen correctamente
Adicional a esto, los programas de 32 bits no pueden cargar bibliotecas de 64 bits (archivos DLL) y pueden bloquearse si intentan cargar un archivo DLL específico y encontrar un archivo de 64 bits en lugar de uno de 32 bits. Lo mismo ocurre con los programas de 64 bits ya que mantener distintos archivos de programa para distintas arquitecturas de CPU separadas evita que ocurran errores como estos afectando la productividad.
La razón por la cual la carpeta "Archivos de programa" tiene el complemento x86 se debe a que x86 es otra forma de referirse a los procesadores de 32 bits. Originalmente, los procesadores de 16 bits (específicamente, las arquitecturas de procesador 8086 y 8088) se denominaban "x86". Este nombre se extendió por algún tiempo para incluir la familia de procesadores 32-bit 80386 y 80486. Cuando se introdujeron procesadores de 64 bits, se les denominó x64 para distinguirlos de las líneas de procesador más antiguas.
Windows instala automáticamente los programas en la carpeta correcta por lo que no tendremos que preocuparnos si están o no en la carpeta ruta correcta.
Todos los programas y aplicaciones de 32 bits y de 64 bits deben almacenar sus datos en carpetas como AppData y ProgramData, y no en ninguna carpeta de "Archivos de programa".
Para saber que programas o aplicaciones son de 32 o 64 bits podemos ir a cada carpeta en la unidad C y allí ver donde está instalado el programa, o bien, desde el administrador de tareas de Windows podemos ver la arquitectura de dicho programa:
Cada aplicación ha sido desarrollada con un tipo de arquitectura especial y Windows se encarga de ubicarla en la ruta correcta.