Tengo una máquina de 64 bits que tiene Windows 7 de 32 bits y Ubuntu de 32 bits instalados como configuración de arranque dual. ¿Puedo ejecutar software de 64 bits sobre estos sistemas operativos de 32 bits o son un "cuello de botella" que limita la verdadera capacidad del hardware subyacente?
Respuesta1
En teoría creo que no.
Pero una solución alternativa es ejecutar el software en una máquina virtual de 64 bits alojada en su sistema operativo de 32 bits, ya que mencionó que su máquina es de 64 bits.
Respuesta2
Su sistema operativo es su interfaz con el hardware subyacente. Las aplicaciones en los sistemas operativos modernos no tienen acceso directo al hardware y solo pueden usarlo mediante llamadas al sistema a través del kernel.
Entonces, si su kernel (SO) solo admite operaciones de 32 bits, las aplicaciones que usan 64 bits no funcionarán.
Con respecto a las máquinas virtuales, su hardware no tiene que ser de 64 bits para simular un entorno de 64 bits dentro de un sistema operativo de 32 bits. Hay un ejemplo de unMicrocontrolador AVR de 8 bits que ejecuta un kernel Linux de 32 bitsusando un emulador. Cualquiera que sea la emulación, lleva mucho tiempo, por lo que los aproximadamente 24 MHz de esos chips se reducen a algo en el rango de kilohercios (10 kHz en realidad).
Entonces, sí, ejecutar software de 64 bits dentro de un sistema operativo de 32 bits (dentro de una máquina virtual) en cualquier hardware generará un cuello de botella. Es mejor instalar un sistema operativo de 64 bits si tiene el hardware.