¿Por qué los sistemas operativos de 64 bits no pueden ejecutar aplicaciones de 16 bits?

¿Por qué los sistemas operativos de 64 bits no pueden ejecutar aplicaciones de 16 bits?

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, no es realmente imposible ejecutar aplicaciones de 16 bits. Es simplemente difícil. 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 se preocupe, no está solo. Pero cuando llegue al final de este artículo, ya no estará confundido.





La historia de la arquitectura de la CPU

Lo sé, lo último que quieres leer es una lección de historia, ¿verdad? No se preocupe, este es uno corto. También es fundamental comprender por qué los sistemas de 64 bits no pueden ejecutar aplicaciones de 16 bits de forma nativa.

Si vivió los años 80 y 90, probablemente recuerde esos viejos dinosaurios de 16 bits que todos en ese momento creían que eran tecnología de vanguardia.



En ese momento, lo fue. Esas viejas máquinas funcionaban Intel 8086 procesador en 1978. El procesador pudo acceder a un espacio de direcciones de 1 Mb utilizando direccionamiento de 16 bits. Con las máquinas anteriores que funcionaban con 64 Kb de memoria, este fue un avance tremendo y marcó el comienzo de una nueva era en la informática personal.

En este modo (llamado Modo real ), una parte se reservó para RAM y el resto fue utilizado por la 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 16 Mb utilizando 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 final de 16 bits, una especie de ...

En 1985, Intel presentó su procesador de próxima generación: el Intel 386. Esta fue la primera CPU de Intel que podía manejar la memoria usando 32 bits a la vez, y podía acceder a la friolera de 4 Gb de memoria direccionable. En ese momento, esto les 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 indicarle 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 86 virtual , que era esencialmente un sistema 8086 virtualizado integrado.

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 (sistemas operativos 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 los usuarios individuales de computadoras, esto fue útil, pero para muchas corporaciones y pequeñas empresas, fue fundamental 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 incluían 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 compensación significativa. Cuando los usuarios intentaron ejecutar aplicaciones de 16 bits que requerían el 'modo real' o el 'modo 8086 virtual', que habían sido admitidos durante mucho tiempo, descubrieron un mensaje de error que decía 'Program.exe no es una aplicación Win32 válida'.

Fue frustrante, pero no fue el fin del mundo. Usuarios podría usar emuladores o instalar máquinas virtuales ejecutando arquitectura de 32 bits y sistemas operativos capaces de admitir aplicaciones heredadas de 16 bits.

Entonces, si bien es 'imposible' que los sistemas de 64 bits ejecuten aplicaciones MS-DOS de 16 bits, no es imposible que los usuarios lo hagan usando 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 utilizando 8086 virtual. Desafortunadamente, el direccionamiento de 'modo largo' no pudo acomodar esto de manera segura. En cambio, habría requerido emular un procesador 8086 completo simplemente para admitir la ejecución de aplicaciones DOS.

Microsoft tomó claramente la decisión de deshacerse de este esfuerzo a fin de respaldar el lanzamiento inmediato de su primer sistema operativo de 64 bits. En su página de soporte, Microsoft indica 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 lo mejor para él fuera reinventar la rueda.

Cómo ejecutar aplicaciones de 16 bits en sistemas de 64 bits

El hecho de que la ejecución de aplicaciones DOS de 16 bits no sea compatible de forma nativa en sistemas Windows de 64 bits no significa que sea imposible. Solo necesita instalar algunas herramientas adicionales para configurar las cosas.

Si disfrutas juegos clásicos de DOS o utilizar cualquier otra aplicación retro de los viejos tiempos de la informática, hay opciones. Aquí hay cuatro formas en que puede ejecutarlos en su nueva máquina con Windows.

1. Juega juegos retro con DOSBox

Una de las formas más fáciles de ejecutar aplicaciones DOS antiguas en su PC es utilizar un emulador. Uno de los más populares es DOSBox .

usar una computadora portátil como monitor

Christian detalló cómo instalar y configurar DOSBox para ejecutar viejos juegos retro en su máquina con Windows.

Lo bueno de esto es que la mayoría de estos juegos son tan antiguos que se consideran abandonware , para que pueda descargarlos legalmente y reproducirlos de forma gratuita.

2. Ejecute aplicaciones dentro de VirtualBox

Dado que los sistemas operativos como Windows XP y Windows 7 pueden ejecutar aplicaciones de 16 bits de forma nativa, puede ejecutar las mismas aplicaciones en su sistema de 64 bits construyendo una máquina virtual con uno de esos sistemas operativos.

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 , para que pueda comenzar a utilizar este enfoque ahora mismo.

Solo asegúrese de elegir el sistema operativo correcto para instalar. Quédese con Windows 7 o anterior, y puede descargar e instalar aplicaciones DOS antiguas en su sistema virtual en poco tiempo.

3. Usa Linux

Diga lo que quiera sobre Linux, una cosa que la mayoría de las distribuciones de Linux tienen es la compatibilidad con aplicaciones de 16 bits. En las distribuciones con el kernal PAE, no está limitado a los 4 GB de los sistemas de 32 bits, por lo que ejecutar una distribución de Linux adecuada como arranque dual en su sistema es otra opción.

Dos opciones para hacer esto: una solución de arranque dual o una máquina virtual. O simplemente puede deshacerse de Windows por completo y ir con Linux . Lo que funcione para ti.

4. Utilice emuladores

DOSBox no es el único emulador disponible para ejecutar aplicaciones DOS antiguas. Hay muchos emuladores geniales que funcionan igual de bien. Esto es especialmente cierto si eres un jugador.

Christian ha cubierto cómo emular un Amigo comodoro , a Frambuesa pi , un Android , e incluso SNES clásico en cualquier PC.

Esta 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. Es posible que Microsoft haya renunciado a las viejas aplicaciones de 16 bits de antaño, pero aún tiene opciones.

No se rinda con 16 bits

No hay ninguna razón para pensar que es 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.

Cuota Cuota Pío Correo electrónico 12 sitios de videos que son mejores que YouTube

Aquí hay algunos sitios de videos alternativos a YouTube. Cada uno de ellos ocupa un nicho diferente, pero vale la pena agregarlo a sus marcadores.

Leer siguiente
Temas relacionados
  • Juego de azar
  • Tecnología explicada
  • Emulación
  • Windows 10
  • 64 bits
Sobre el Autor Ryan Dube(942 Artículos publicados)

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. Antiguo editor en jefe de MakeUseOf, ha hablado en conferencias nacionales sobre visualización de datos y ha aparecido en la televisión y la radio nacionales.

Más de Ryan Dube

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse