Anuncio
Una vez que las computadoras comenzaron a usar la arquitectura moderna de 64 bits, los usuarios pronto se dieron cuenta de que ejecutar esas viejas aplicaciones de 16 bits no iba a funcionar. ¿Por qué las máquinas de 64 bits no pueden ejecutar aplicaciones de 16 bits?
La respuesta a esa pregunta puede ser confusa, dependiendo de a quién le pregunte. Por un lado, en realidad no es imposible ejecutar aplicaciones de 16 bits. Es solo dificil. En segundo lugar, la razón de esta dificultad radica tanto en la arquitectura de la CPU y El sistema operativo.
Confundido todavía? No te preocupes, no estás solo. Pero cuando llegue al final de este artículo, ya no estará confundido.
La historia de la arquitectura de CPU
Lo sé, lo último que quieres leer es una lección de historia, ¿verdad? No te preocupes, esta es corta. También es fundamental para entender por qué los sistemas de 64 bits no pueden ejecutar aplicaciones de 16 bits de forma nativa.
Si vivió durante los años 80 y 90, probablemente recuerde aquellos viejos dinosaurios de 16 bits que todos en ese momento creían que era tecnología de punta.

En ese momento, lo era. Esas viejas máquinas corrían el Intel 8086 procesador en 1978. El procesador pudo acceder a un espacio de direcciones de 1Mb usando direccionamiento de 16 bits. Con máquinas anteriores con 64 Kb de memoria, este fue un gran avance y marcó el comienzo de una nueva era en la informática personal.
En este modo (llamado Modo real), una parte estaba reservada para RAM, y el resto fue utilizado por el BIOS y el hardware de la computadora como la tarjeta gráfica.
Un poco más tarde, se produjo un avance adicional en la arquitectura de la CPU con el procesador 80286, capaz de direccionar 16Mb con direccionamiento de 16 bits. Con la arquitectura 286 llegó el "Modo protegido", con características que no solo permitían el direccionamiento de más memoria, sino también la multitarea. Ejecutar aplicaciones antiguas de 16 bits en "modo real" no siempre fue fácil, pero fue posible.
El fin de 16 bits, más o menos ...
En 1985, Intel presentó su procesador de próxima generación: el Intel 386. Esta fue la primera CPU de Intel que pudo direccionar la memoria usando 32 bits a la vez, y pudo acceder a la friolera de 4 Gb de memoria direccionable. En ese momento, esto pareció a los usuarios de computadoras como un gran avance. Los juegos de PC estaban a punto de entrar en su apogeo.

Junto con el advenimiento de la arquitectura de 32 bits llegó una versión extendida de Modo protegido eso no solo permitía la capacidad de acceder a más memoria, sino que también incluía un conjunto de características en las que el software podía señalar al sistema si era un código de 16 bits o de 32 bits. Esto fue posible gracias a lo que se conoce como Modo virtual 86, que era esencialmente un sistema 8086 virtualizado incorporado.
Como puede ver, de una evolución de la arquitectura de la CPU a la siguiente, tanto el hardware (programación de la CPU) como el software (operativo sistemas y aplicaciones), mantuvieron la compatibilidad con versiones anteriores para todos aquellos usuarios que todavía tenían software muy antiguo que querían correr. Para usuarios de computadoras individuales, esto fue útil, pero para muchas corporaciones y pequeñas empresas, fue crítico para los sistemas heredados.
La arquitectura de 64 bits lo arruinó todo
El límite de 4 GB de memoria direccionable siguió siendo una muleta para los sistemas de 32 bits durante muchos años. Sin embargo, con la invención de los procesadores de 64 bits se produjo otro gran avance. Estos sistemas incluyen un nuevo modo (conocido como Modo largo) capaz de direccionar hasta 16 millones de terabytes de memoria. Probablemente pasará mucho tiempo antes de que esto se convierta en un factor limitante para las aplicaciones informáticas.
Sin embargo, con este tremendo avance se produjo una importante compensación. Cuando los usuarios intentaron ejecutar aplicaciones de 16 bits que requerían el "modo real" o "Modo virtual 8086", descubrieron un mensaje de error que decía: "Program.exe no es un Win32 válido solicitud."

Fue frustrante, pero no fue el fin del mundo. Los usuarios podría usar emuladores Cómo ejecutar juegos y software antiguos en Windows 10Los viejos juegos de PC y software pueden tener dificultades en Windows 10. Pruebe estos consejos para que sus viejos juegos y programas de Windows se ejecuten en Windows 10. Lee mas o instalar máquinas virtuales VirtualBox vs. VMware Player: la mejor máquina virtual para Windows¿Te cuesta decidir qué software de máquina virtual utilizar? VirtualBox y VMware Workstation Player son gratuitos. ¿Pero cuál es el mejor para ti? ¡Permítanos ayudarle a descubrirlo! Lee mas ejecutando arquitectura de 32 bits y sistemas operativos capaces de admitir aplicaciones heredadas de 16 bits.
Entonces, si bien es "imposible" para los sistemas de 64 bits ejecutar aplicaciones MS-DOS de 16 bits, no es imposible que los usuarios lo hagan con una solución alternativa. ¿Pero por qué sucedió esto?
La arquitectura de 64 bits elimina el NTVDM
En cada generación de procesadores de 32 bits a lo largo de los años, se hizo un gran esfuerzo en el sistema operativo para que el sistema manejara aplicaciones DOS de 16 bits más antiguas. Se logró utilizando lo que se conoce como NTVDM, o NT Virtual DOS Machine.
Esta aplicación de 32 bits se ejecutó en el sistema operativo Windows y simuló una arquitectura 486 capaz de manejar el direccionamiento de 16 bits usando el virtual 8086. Desafortunadamente, el direccionamiento de "modo largo" no pudo resolver esto de manera segura. En cambio, habría requerido emular un procesador 8086 completo simplemente para admitir la ejecución de aplicaciones DOS.

Microsoft claramente tomó la decisión de deshacerse de este esfuerzo para respaldar el lanzamiento inmediato de su primer sistema operativo de 64 bits. En su página de soporte, Microsoft establece claramente que "las utilidades MS-DOS de 16 bits y Microsoft Windows 3.x no se iniciarán".
Sin disculpas. Simplemente no es compatible.
Con la gran cantidad de productos de virtualización en el mercado capaces de lograr esto de todos modos, Microsoft claramente no sintió que su mejor interés fuera reinventar la rueda.
Cómo ejecutar aplicaciones de 16 bits en sistemas de 64 bits
El hecho de que ejecutar aplicaciones DOS de 16 bits no sea compatible de forma nativa en sistemas Windows de 64 bits, eso no significa que sea imposible. Solo necesita instalar algunas herramientas adicionales para configurar las cosas.
Si disfrutas juegos clásicos de DOS 7 sitios para encontrar los mejores juegos clásicos de DOS Lee mas o use cualquier otra aplicación retro de los viejos tiempos de la informática, hay opciones. Aquí hay cuatro formas de ejecutarlas en su nueva máquina con Windows.
1. Juega juegos retro con DOSBox
Una de las formas más fáciles de ejecutar viejas aplicaciones de DOS en tu PC es usar un emulador. Uno de los más populares es DOSBox.
Christian detalló cómo instalar y configurar DOSBox para ejecutar viejos juegos retro Cómo jugar juegos retro en cualquier plataforma con DOSBox¿Quieres jugar juegos retro de PC en tu computadora, teléfono o consola de juegos? ¡Aquí encontrarás todo lo que necesitas saber para comenzar a usar DOSBox, incluidos los mejores juegos para emular! Lee mas en tu máquina con Windows.

Lo mejor de esto es que la mayoría de estos juegos son tan antiguos que son considerados abandonware 7 sitios para encontrar los mejores juegos clásicos de DOS Lee mas , para que pueda descargarlos y jugarlos de forma gratuita.
2. Ejecute aplicaciones dentro de VirtualBox
Dado que los sistemas operativos como Windows XP y Windows 7 podrían ejecutar aplicaciones de 16 bits de forma nativa, puede ejecutar el mismas aplicaciones en su sistema de 64 bits al construir una máquina virtual con uno de esos sistemas operativos en eso.
Una de las aplicaciones más conocidas y fáciles de configurar para esto es VirtualBox. Tenemos una guía completa sobre cómo configurar y usar VirtualBox Cómo usar VirtualBox: Guía del usuarioCon VirtualBox puede instalar y probar fácilmente múltiples sistemas operativos. Le mostraremos cómo configurar Windows 10 y Ubuntu Linux como una máquina virtual. Lee mas , para que pueda comenzar a utilizar este enfoque ahora mismo.

Solo asegúrese de elegir el sistema operativo adecuado para instalar. Siga con Windows 7 o anterior, y puede descargar e instalar aplicaciones antiguas de DOS en su sistema virtual en muy poco tiempo.
3. Usar Linux
Digan lo que quieran sobre Linux, una cosa que la mayoría de las distribuciones de Linux tienen derecho es el soporte para aplicaciones de 16 bits. Con las distribuciones con el kernel PAE, no está limitado a los 4 GB de sistemas de 32 bits, por lo que ejecutar una distribución Linux adecuada como arranque dual en su sistema es otra opción.

Dos opciones para hacer esto: un solución de arranque dual o una máquina virtual ¿Cuál es la mejor manera de ejecutar múltiples sistemas operativos en su PC?¿Indeciso entre Windows y Linux? Es posible ejecutar múltiples sistemas operativos en una sola máquina, ya sea mediante arranque dual o usando una máquina virtual. Averigüemos cuál es el mejor para usted. Lee mas . O simplemente puede volcar Windows por completo, y ir con Linux 6 cosas que Ubuntu hace mejor que WindowsAlgunos piensan que Ubuntu es para nerds, pero la verdad es que Ubuntu es tan fácil de usar como Windows. De hecho, hay varias cosas que Ubuntu hace mejor que Windows 10. Lee mas . Lo que funcione para ti.
4. Usar emuladores
DOSBox no es el único emulador disponible para ejecutar aplicaciones antiguas de DOS. Hay muchos emuladores excelentes que funcionan igual de bien. Esto es especialmente cierto si eres un jugador.
Christian ha cubierto cómo emular un Comodoro Amiga, una Raspberry Pi, un Androidee incluso SNES clásico en cualquier PC

Esto es solo la punta del iceburg. Si busca en línea, encontrará una biblioteca completa de diferentes emuladores que le permitirán ejecutar casi cualquier aplicación retro que pueda imaginar. Microsoft podría haber renunciado a las viejas aplicaciones de 16 bits de antaño, pero aún tiene opciones.
No te rindas en 16 bits
No hay razón alguna para pensar que sea imposible para ejecutar aplicaciones de 16 bits en una máquina de 64 bits. Puede ser imposible de forma nativa, pero como puede ver, hay muchas soluciones para realizar la tarea.
Ryan tiene una licenciatura en ingeniería eléctrica. Ha trabajado 13 años en ingeniería de automatización, 5 años en TI y ahora es ingeniero de aplicaciones. Ex editor jefe de MakeUseOf, ha hablado en conferencias nacionales sobre visualización de datos y ha aparecido en la televisión y radio nacionales.