¿Necesita más memoria ram para ejecutar programas de 32 bits en windows de 64 bits?

La mayoría de los ordenadores de hoy en día con una versión de 64 bits de Windows, y con frecuencia una cantidad mínima de memoria RAM. Esto pone en cuestión lo bien que estos sistemas realizan. Esto es especialmente cierto cuando los usuarios desean ejecutar su legado de software de 32 bits en estos nuevos equipos.

Lo que plantea una pregunta interesante. Vos si necesitar más o menos RAM ejecutar una aplicación de 32 bits en una versión de 64 bits de Windows? Esta semana, Bruce Epper entere.La cantidad de RAM ¿Usted realmente necesita?La cantidad de RAM ¿Usted realmente necesita?RAM es como la memoria a corto plazo. Cuanto más multitarea, más se necesita. Averiguar cuánto tiene su ordenador, cómo sacar el máximo provecho de ella, o cómo conseguir más.Lee mas

Un lector pregunta:

¿Es cierto que la ejecución de aplicaciones de 32 bits en un 64 bits consume del sistema Windows 1,5 veces más memoria comparación con ejecutar la aplicación de 32 bits en un sistema operativo Windows de 32 bits?

Responder de Bruce:

Hemos discutido previamente ventajas e inconvenientes de mantener todo de 64 bits a través del tablero y algunas de las efectos de “mezcla y combinación”. Hoy vamos a examinar cómo las aplicaciones de 32 bits se ejecutan en versiones de 64 bits de Windows.Cómo rendimiento de Windows se ve afectada por hardware & SoftwareCómo rendimiento de Windows se ve afectada por hardware & SoftwareEn teoría, el software de 32 bits podría superar a su contraparte de 64 bits, dependiendo de la configuración del hardware. ¿Suena complicado? Estamos aquí para tener sentido y ayudarle a obtener el mejor rendimiento de su sistema.Lee mas

Un sistema operativo Windows de 64 bits no se puede ejecutar un programa de Windows de 32 bits sin ayuda adicional. Son demasiado diferentes: de punteros y tipos de datos, a cómo las llamadas del sistema (cómo los programas utilizan los recursos del sistema operativo subyacente). Necesita alguna manera de hacerlos compatibles.

comprensión WoW64

Windows utiliza el subsistema WoW64 (Windows32 en Windows64) para compensar las diferencias. Funciona eficazmente como un Windows de 32 bits mini-emulador en sistemas x64 y un emulador de pleno derecho en sistemas Itanium (IA64).

sistemas IA64 requieren un emulador completo debido a las diferencias en las instrucciones del procesador y tamaños de página de memoria (4K en x86 y x64, 8K en IA64). Dado que los procesadores x64 tienen todas las instrucciones de los procesadores x86 y usa el mismo tamaño de página de memoria, no tiene la necesidad de un emulador completo.

Vídeo: como pasar de 32 bits a 64 bits windows 7 sin formatear-2017

En ambos casos, WoW64 proporciona una interfaz entre el núcleo de Windows de 64 bits y la versión de 32 bits de ntdll.dll (este contiene una lista de las funciones del sistema de Windows con el núcleo), interceptando llamadas del núcleo y la alteración de ellos para que puedan ser procesados ​​por los nativos funciones de 64 bits proporcionados por el núcleo de Windows.

Hay 3 archivos DLL utilizados en sistemas x64 / IA64 para lograrlo: wow64cpu.dll, wow64win.dll y wow64.dll. Sus funciones son de abstraer las características del procesador y proporcionan procesadores (vamos a llegar a ellos más tarde) En win32k.sys que proporciona la funcionalidad “ventana” y ntoskrnl.exe que contiene el ejecutivo, kernel, administrador de memoria, planificador de procesos (que no debe confundirse con el programador de tareas accesible desde el panel de control), y otros elementos básicos de la sistema operativo.

-DLL cargadas

Un golpe seco es una subrutina (pensar en ellos como una serie de instrucciones que realizan una sola tarea) que permite que un programa para ejecutar una subrutina o función común en el sistema.

En este caso, se extrae los argumentos de la pila de llamadas del programa de 32 bits, los convierte a sus homólogos de 64 bits, y hace la llamada de sistema de 64 bits. Al regresar de la llamada, que convertirá los resultados de 64 bits de nuevo a 32 bits y los empuja de nuevo en la pila de llamadas del programa para la persona que llama a utilizar.

Todo thunking se realiza en modo de usuario (que tiene permisos limitados) por dos razones. En primer lugar, reduce al mínimo los efectos de errores en el código que podría resultar en un agujero de seguridad, corrupción de datos, o un fallo del sistema si se ejecuta en modo núcleo.

Vídeo: Como Utilizar Toda La Memoria Ram Windows 7 32 Bits Utilizar Mas De 3.00 GB

En segundo lugar, se reduce el impacto en el rendimiento que tendría si se ejecuta en modo kernel (el modo utilizado por las partes esenciales del sistema operativo), debido a la sobrecarga generada al pasar del modo de usuario y modo de núcleo y la espalda.

Volviendo a los sistemas Itanium, hay algunas otras diferencias importantes a tener en cuenta. sistemas IA64 utilizan dos archivos adicionales. IA32exec.bin es el emulador de software x86 y Wowia32x.dll proporciona la interfaz entre WoW64 y el emulador de software.

Un proceso de 32 bits se carga estos archivos, así como la versión de 64 bits de ntdll.dll. Estos son los únicos binarios de 64 bits que se pueden cargar en un proceso de 32 bits antes de Windows 7. Windows 7 y más tarde también tener otra DLL, apisetschema.dll, que se carga en todos los procesos.

proceso-explorer

Vídeo: Como Liberar La Memoria RAM En Windows 7/8/10 32 Bits Y 64 Bits | 2015 | HD

Cuando se inicia un proceso de 32 bits, cargará Wow64.dll que a su vez carga la versión de 32 bits de ntdll.dll y cualquier DLL de 32 bits necesarios de % SystemRoot% SysWOW64. La mayoría de estos archivos son idénticos a los binarios en un sistema de 32 bits, aunque algunos se han reescrito para comportarse de manera diferente bajo WOW64.

En cuanto a la lista de archivos DLL cargados podemos ver que hay 9 DLL cargadas en el proceso bajo Win64 que no están ahí para el sistema de Win32.

Ahora, usted podría estar tentado a mirar los tamaños de archivo, sumarlos y usar eso como su base para la cantidad adicional de memoria que se está utilizando, pero que terminaría con resultados inexactos. Estos archivos, por su naturaleza, están diseñados para ser compartidos componentes y, como resultado, el primer archivo DLL que requieren una carga en la memoria.

programas posteriores que requieren la misma DLL no se cargan todo el componente en la memoria. Consiguen un puntero al componente ya cargado, y asignar RAM para los elementos adicionales que se cargan en el proceso.

Nuestra instalación de Prueba

Con el fin de ver lo que está pasando, he creado dos máquinas virtuales con Windows 7 Ultimate con 2 GB de RAM asignada a cada uno. Uno de ellos es la versión de 32 bits y el otro es de 64 bits. Ambos pasaron por el mismo proceso de instalación y aplicación de parches exacta.

Después fueron parcheados ambos sistemas, he deshabilitado el archivo de intercambio tanto para conseguir una mejor idea de uso de la memoria RAM, asegurando no podía ser paginado en el disco. Una vez que se instaló fue completa 5.0.3.2 LibreOffice.

lo-Calc

Una copia de Explorador sysinternals Proceso También se colocó en ambas máquinas. Esta es la herramienta que utiliza para recopilar información sobre el uso de memoria. La configuración por defecto de columna se cambió para que pudiera mirar en el espacio de trabajo y WS uso privado.Process Explorer - El más potente Repuesto de Administrador de tareas [Windows]Process Explorer - El más potente Repuesto de Administrador de tareas [Windows]Seamos honestos, el Administrador de tareas de Windows no es tan grande para entender y gestionar los procesos que se ejecutan en el ordenador. Incluso en Windows 8, donde se ha mejorado mucho-, el administrador de tareas no puede acercarse a la ...Lee mas

Estos números del conjunto de trabajo reflejan la cantidad de memoria RAM utilizada por los programas. Que se complica un poco más lejos por lo que refleja la cantidad de memoria utilizada por las bibliotecas compartidas, incluso si ya se cargaron por otro proceso. Debido a esto, si se agrega toda la columna, es posible terminar con un total mayor que la RAM instalada. El conjunto de trabajo sigue siendo el mejor indicador de exactamente la cantidad de memoria que se requiere para un proceso.

Los procesos que estamos examinando no son cuestiones aisladas, tampoco. Los diversos programas de LibreOffice en marcha otro proceso, soffice.exe, que ejecutará otro proceso, soffice.bin. Tenemos que estar mirando a los totales de los tres procesos para ver el uso de memoria efectiva de cada programa.

Para la prueba inicial, simplemente abrí Writer, Calc, Impress y de forma individual para mirar la cantidad de memoria que consumen sin ningún tipo de datos que se cargan y se exportan los datos de Process Explorer. Con Calc e Impress, que había abierto un archivo de .xls 3,7 MB y el archivo de 3.9 MB .pptx, respectivamente, y se registra el nuevo uso de la memoria. Los resultados se pueden ver en la siguiente tabla. Todos los datos están en KB.

uso de memoria

La gran sorpresa se produjo con Impress. Sin un documento que estaba utilizando 4,1% más de RAM en el sistema de 64 bits y 9,9% Menos con el documento cargado. Me desenterrado algunas otras presentaciones y tuvieron resultados similares con todos ellos. El sistema de 64 bits terminó usando menos RAM que el sistema de 32 bits.

Por lo tanto, hacer las versiones de 64 bits de Windows requieren más memoria RAM que sus contrapartes de 32 bits cuando se ejecuta aplicaciones de 32 bits? En general, sí.

Pero no es necesario actualizar la memoria RAM? Probablemente no. La diferencia De Verdad No es que masiva. Desde luego no es 1,5 veces diferente.

Artículos Relacionados