¿Por qué Windows 7 64 bits no puede ejecutar programas de 32 bits?

9

Por lo que entiendo, la arquitectura no ha cambiado tanto como lo hizo de 16 bits a 32 bits, entonces, ¿por qué necesitamos el modo XP y similares para ejecutar aplicaciones de 32 bits en Windows 7 de 64 bits?

¿O lo he entendido mal?

Oscar
fuente
Teníamos un programa que no me gustó mucho. El problema real al final se redujo a Office de 64 bits (teníamos un complemento de Office).
Joshua

Respuestas:

16

Puede ejecutar programas de 32 bits bien. No puede ejecutar programas de 16 bits.

El modo XP es un poco seguro: si un software en particular no se ejecuta en 7 (32 o 64 bits, el modo xp está disponible para la edición profesional y superior en ambos), entonces puede ejecutarlo en modo XP. Esto no me ha sucedido todavía, pero probablemente sea por la multitud 'puedes tomar XP de mis manos moribundas'.

En la mayoría de los casos, el modo de compatibilidad funcionará

Journeyman Geek
fuente
Dang! Tuve problemas para ejecutar algunas aplicaciones como Visual Studio 6, Guitar Pro, etc. y toda la búsqueda me llevó a ganar el modo XP sin decir realmente por qué. ¡Gracias una tonelada!
Oscar
2
Algunas aplicaciones se quejarán, pero en teoría no hay razón para no poder ejecutar aplicaciones de 32 bits.
Shinrai
@Oscar VS6 requiere MS Java.
kinokijuf 01 de
5

Espero que esto arroje algo de luz sobre incompatibilidades:

Microsoft decidió reforzar el núcleo con las versiones de 64 bits. Los controladores de dispositivo tienen el mismo nivel de acceso al hardware que el núcleo, por lo que algunas cosas específicas que se modificaron en las versiones de 64 bits en nombre de la seguridad son:

  • Los controladores deben estar firmados por Microsoft para cargar.
  • No sé si técnicamente los controladores de 32 bits pueden funcionar con un núcleo de 64 bits (poco probable) pero Microsoft no está firmando nuevos controladores de 32 bits con la clave que el núcleo de 64 bits quiere. Por lo tanto, todos los controladores XP de 32 bits existentes no funcionarán en Vista / 7 de 64 bits.
  • Los controladores no pueden sobrescribir o parchar el núcleo.

Microsoft también cambió a un nuevo modelo de controlador de pantalla de video (LDDM), pero mantuvo el anterior (XDDM). XDDM, el antiguo modelo, no es compatible con Aero.

Algunos programas cargan controladores de dispositivos personalizados sobre la marcha para realizar sus tareas. Estos definitivamente no funcionarán en Vista / 7.

Microsoft actualizó bastantes componentes en Vista / 7. Esto podría significar un cambio en el comportamiento indocumentado de esos componentes. Los programas que se basan en errores dentro de estos componentes o funciones DLL no documentadas también tendrían un problema.

LawrenceC
fuente
+1 para obtener información sobre los controladores de Windows de 32 bits y 64 bits. Tengo un hardware de audio antiguo (SW1000XG, UR-80) que solo funcionará en mi instalación de 32 bits de Windows 7 pero no en mi instalación de 64 bits. Es una verdadera lástima porque son un kit bonito y clásico.
therobyouknow
"No sé si técnicamente los controladores de 32 bits pueden funcionar con un núcleo de 64 bits (poco probable)" . No es imposible en los sistemas operativos en general, pero hacerlo en Windows requeriría que todos los controladores se ajusten a los modelos de controladores con un aislamiento mucho más estricto de varios detalles internos del sistema operativo. No veo cómo se podría hacer, por ejemplo, con el modelo de controlador de Windows o controladores anteriores a WDM. WDF sería más fácil, pero aún así no sería un slam-dunk.
Jamie Hanrahan
2

Los programas de 32 bits deberían ejecutarse bien en Windows de 64 bits.

El modo XP es para programas que son incompatibles con Windows Vista y Windows 7 de cualquier versión.

Consulte este artículo de Ars Technica para obtener más información.

El problema realmente llegó a un punto crítico con el lanzamiento de Windows Vista. La compatibilidad de Vista con XP fue muy buena, pero no fue perfecta. Microsoft trabajó mucho en Vista para endurecerlo contra los ataques (UAC, por supuesto, pero también otras cosas, como prohibir que los servicios tengan interacción con el usuario), y juntas estas modificaciones y mejoras, junto con cosas más mundanas como actualizar el número de versión que Windows tiene, han conspirado para romper algún software viejo.

ChrisF
fuente