Propaganda

Quando os computadores começaram a usar a arquitetura moderna de 64 bits, os usuários logo perceberam que a execução desses aplicativos antigos de 16 bits não funcionaria. Por que máquinas de 64 bits não executam aplicativos de 16 bits?

A resposta para essa pergunta pode ser confusa, dependendo de quem você perguntar. Por um lado, não é realmente impossível executar aplicativos de 16 bits. É apenas difícil. Em segundo lugar, a razão para essa dificuldade está na arquitetura da CPU e o sistema operacional.

Confuso ainda? Não se preocupe, você não está sozinho. Mas quando você chegar ao final deste artigo, você não ficará mais confuso.

A história da arquitetura da CPU

Eu sei, a última coisa que você quer ler é uma aula de história, certo? Não se preocupe, este é curto. Também é fundamental entender por que os sistemas de 64 bits não podem executar aplicativos de 16 bits nativamente.

Se você viveu entre os anos 80 e 90, provavelmente se lembra daqueles dinossauros antigos de 16 bits que todos na época acreditavam ser uma tecnologia de ponta.

por que 64 bits não podem executar aplicativos de 16 bits

Na época, era. Essas máquinas antigas rodavam o Intel 8086 processador em 1978. O processador conseguiu acessar um espaço de endereço de 1Mb usando endereçamento de 16 bits. Com máquinas anteriores com 64 Kb de memória, esse foi um tremendo avanço e marcou o início de uma nova era na computação pessoal.

Nesse modo (chamado Modo real), uma parte foi reservada para a RAM e o restante foi utilizado pelo BIOS e pelo hardware do computador, como a placa de vídeo.

Um pouco mais tarde, houve um avanço adicional na arquitetura da CPU com o processador 80286, capaz de endereçar 16Mb usando endereçamento de 16 bits. Com a arquitetura 286, veio o "Modo protegido", com recursos que não apenas permitiam o endereçamento de mais memória, mas também multitarefa. A execução de aplicativos antigos de 16 bits no "modo real" nem sempre era fácil, mas era possível.

O fim de 16 bits, mais ou menos…

Em 1985, a Intel lançou seu processador de próxima geração: o Intel 386. Este foi o primeiro CPU da Intel que poderia endereçar a memória usando 32 bits por vez e acessar 4 Gb de memória endereçável. Na época, isso parecia para os usuários de computador um grande avanço. Os jogos para PC estavam prestes a entrar no seu auge.

por que 64 bits não podem executar aplicativos de 16 bits

Juntamente com o advento da arquitetura de 32 bits, veio uma versão estendida do Modo protegido isso não apenas permitia a capacidade de acessar mais memória, mas também incluía um conjunto de recursos em que o software podia sinalizar para o sistema se fosse um código de 16 ou 32 bits. Isso foi possível graças ao que é conhecido como Modo 86 virtual, que era essencialmente um sistema 8086 virtualizado interno.

Como você pode ver, de uma evolução da arquitetura da CPU para a próxima, tanto o hardware (programação da CPU) quanto o software (operacional sistemas e aplicativos), mantinha compatibilidade com versões anteriores de todos os usuários que ainda tinham software muito antigo que desejavam corre. Para usuários individuais de computadores, isso foi útil, mas para muitas empresas e pequenas empresas, foi fundamental para os sistemas legados.

A arquitetura de 64 bits arruinou tudo

O limite de 4 GB de memória endereçável permaneceu uma muleta para sistemas de 32 bits por muitos anos. No entanto, com a invenção dos processadores de 64 bits, surgiu outra inovação. Esses sistemas incluíam um novo modo (conhecido como Modo longo) capaz de endereçar até 16 milhões de terabytes de memória. Provavelmente levará muito tempo até que isso se torne um fator limitante para aplicativos de computador.

No entanto, com esse tremendo avanço, houve uma troca significativa. Quando os usuários tentam executar aplicativos de 16 bits que exigem o "modo real" ou suporte “Modo 8086 virtual”, eles descobriram uma mensagem de erro que dizia “Program.exe não é um Win32 válido inscrição."

por que 64 bits não podem executar aplicativos de 16 bits

Foi frustrante, mas não era o fim do mundo. Comercial poderia usar emuladores Como executar jogos e software antigos no Windows 10Jogos e softwares antigos para PC podem ter problemas no Windows 10. Experimente estas dicas para rodar seus jogos e programas antigos do Windows no Windows 10. consulte Mais informação ou instalar máquinas virtuais VirtualBox vs. VMware Player: A melhor máquina virtual para WindowsVocê está lutando para decidir qual software de máquina virtual usar? O VirtualBox e o VMware Workstation Player são gratuitos. Mas qual é o melhor para você? Vamos ajudá-lo a descobrir! consulte Mais informação arquitetura de 32 bits e sistemas operacionais capazes de suportar aplicativos legados de 16 bits.

Portanto, embora seja "impossível" para sistemas de 64 bits executar aplicativos de MS-DOS de 16 bits, não é impossível para os usuários fazer isso usando uma solução alternativa. Mas por que isso aconteceu?

Arquitetura de 64 bits remove o NTVDM

Em todas as gerações de processadores de 32 bits ao longo dos anos, houve muito esforço no sistema operacional para o sistema lidar com aplicativos DOS de 16 bits mais antigos. Foi realizado usando o que é conhecido como NTVDM ou NT Virtual DOS Machine.

Esse aplicativo de 32 bits foi executado no sistema operacional Windows e simulou uma arquitetura 486 capaz de lidar com o endereçamento de 16 bits usando o 8086 virtual. Infelizmente, o endereçamento em "modo longo" não pode acomodar isso com segurança. Em vez disso, seria necessário emular um processador 8086 completo simplesmente para dar suporte à execução de aplicativos DOS.

por que 64 bits não podem executar aplicativos de 16 bits

A Microsoft decidiu claramente abandonar esse esforço para oferecer suporte ao lançamento imediato de seu primeiro sistema operacional de 64 bits. Na sua página de suporte, Microsoft afirma claramente que "os utilitários MS-DOS e Microsoft Windows 3.x de 16 bits não serão iniciados".

Sem desculpas. Simplesmente não é suportado.

Com a infinidade de produtos de virtualização no mercado capazes de fazer isso de qualquer maneira, a Microsoft claramente não achava que era do seu interesse reinventar a roda.

Como executar aplicativos de 16 bits em sistemas de 64 bits

Só porque a execução de aplicativos DOS de 16 bits não é suportada nativamente em sistemas Windows de 64 bits, isso não significa que seja impossível. Você só precisa instalar algumas ferramentas extras para configurar as coisas.

Se você gosta jogos clássicos do DOS 7 sites para encontrar os melhores jogos clássicos do DOS consulte Mais informação ou use qualquer outro aplicativo retro dos bons e velhos tempos da computação, existem opções. Aqui estão quatro maneiras de executá-las em sua nova máquina Windows.

1. Jogue jogos retrô com DOSBox

Uma das maneiras mais fáceis de executar aplicativos antigos do DOS no seu PC é usar um emulador. Um dos mais populares desses é DOSBox.

Christian detalhou como instalar e configurar o DOSBox para executar jogos antigos antigos Como jogar jogos retrô em qualquer plataforma com o DOSBoxDeseja jogar jogos retrô de PC no seu computador, telefone ou console de jogos? Aqui está tudo o que você precisa saber para começar a usar o DOSBox, incluindo os melhores jogos para imitar! consulte Mais informação na sua máquina Windows.

por que 64 bits não podem executar aplicativos de 16 bits

O melhor disso é que a maioria desses jogos é tão antiga que eles são considerados abandonware 7 sites para encontrar os melhores jogos clássicos do DOS consulte Mais informação , para que você possa fazer o download e reproduzi-los legalmente gratuitamente.

2. Executar aplicativos dentro do VirtualBox

Como sistemas operacionais como Windows XP e Windows 7 podem executar aplicativos de 16 bits nativamente, você pode executar o mesmos aplicativos em seu sistema de 64 bits, construindo uma máquina virtual com um desses sistemas operacionais isto.

Um dos aplicativos mais conhecidos e fáceis de configurar para isso é VirtualBox. Temos um guia completo sobre como configurar e usar o VirtualBox Como usar o VirtualBox: Guia do UsuárioCom o VirtualBox, você pode instalar e testar facilmente vários sistemas operacionais. Mostraremos como configurar o Windows 10 e o Ubuntu Linux como uma máquina virtual. consulte Mais informação , para que você possa começar a usar essa abordagem agora mesmo.

por que 64 bits não podem executar aplicativos de 16 bits

Apenas certifique-se de escolher o sistema operacional certo para instalar. Adira ao Windows 7 ou anterior e você pode baixar e instalar aplicativos antigos do DOS em seu sistema virtual rapidamente.

3. Use Linux

Diga o que quiser sobre o Linux, uma coisa que a maioria das distribuições Linux tem razão é o suporte a aplicativos de 16 bits. Distros com o kernal PAE, você não está limitado aos 4 GB de sistemas de 32 bits; portanto, executar uma distribuição Linux adequada como inicialização dupla no sistema é outra opção.

por que 64 bits não podem executar aplicativos de 16 bits

Duas opções para fazer isso: a solução de inicialização dupla ou uma máquina virtual Qual é a melhor maneira de executar vários sistemas operacionais no seu PC?Indeciso entre Windows e Linux? É possível executar vários sistemas operacionais em uma única máquina, inicializando duas vezes ou usando uma máquina virtual. Vamos descobrir qual é o melhor para você. consulte Mais informação . Ou você pode simplesmente despejar o Windows completamente e vá com Linux 6 coisas que o Ubuntu faz melhor que o WindowsAlguns pensam que o Ubuntu é para nerds - mas a verdade é que o Ubuntu é tão fácil de usar quanto o Windows. De fato, existem várias coisas que o Ubuntu faz melhor que o Windows 10. consulte Mais informação . Tudo o que funciona para você.

4. Use emuladores

O DOSBox não é o único emulador disponível para executar aplicativos antigos do DOS. Existem muitos emuladores excelentes por aí que funcionam da mesma forma. Isto é especialmente verdade se você é um jogador.

Christian cobriu como imitar uma Commodore Amiga, uma Raspberry Pi, a Android, e até mesmo SNES clássico em qualquer PC.

por que 64 bits não podem executar aplicativos de 16 bits

Esta é apenas a ponta do iceburg. Se você pesquisar on-line, encontrará uma biblioteca inteira de diferentes emuladores que permitem executar qualquer aplicativo retro que você possa imaginar. A Microsoft pode ter desistido de aplicativos antigos de 16 bits, mas você ainda tem opções.

Não desista de 16 bits

Não há razão alguma para você pensar que é impossível para executar aplicativos de 16 bits em uma máquina de 64 bits. Pode ser impossível nativamente, mas como você pode ver, existem muitas soluções para realizar a tarefa.

Ryan é bacharel em Engenharia Elétrica. Ele trabalhou 13 anos em engenharia de automação, 5 anos em TI e agora é engenheiro de aplicativos. Um ex-editor-chefe do MakeUseOf, ele falou em conferências nacionais sobre visualização de dados e foi destaque na TV e rádio nacional.