Por que os sistemas operacionais de 64 bits não podem executar aplicativos de 16 bits?

Por que os sistemas operacionais de 64 bits não podem executar aplicativos de 16 bits?

Depois que os computadores começaram a usar a arquitetura moderna de 64 bits, os usuários logo perceberam que rodar os antigos aplicativos de 16 bits não funcionaria. Por que as máquinas de 64 bits não podem executar aplicativos de 16 bits?





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





Ainda está confuso? Não se preocupe, você não está sozinho. Mas quando você chegar ao final deste artigo, 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 para entender por que os sistemas de 64 bits não podem executar aplicativos de 16 bits nativamente.

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



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

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





Um pouco mais tarde, veio um novo avanço na arquitetura da CPU com o processador 80286, capaz de endereçar 16 Mb 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. Executar aplicativos de 16 bits mais antigos em 'modo real' nem sempre foi fácil, mas era possível.

Fim dos 16 bits, mais ou menos ...

Em 1985, a Intel apresentou seu processador de próxima geração: o Intel 386. Esta foi a primeira CPU da Intel que podia endereçar memória usando 32 bits por vez e poderia acessar colossais 4 Gb de memória endereçável. Na época, isso pareceu aos usuários de computador um grande avanço. Os jogos para PC estavam prestes a entrar em seu apogeu.





Junto 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 incluía um conjunto de recursos em que o software podia sinalizar para o sistema se era um código de 16 ou 32 bits. Isso foi possível graças ao que é conhecido como Modo virtual 86 , que era essencialmente um sistema 8086 virtualizado integrado.

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 (sistemas operacionais e aplicativos) mantinham compatibilidade com versões anteriores para todos aqueles usuários que ainda tinham softwares muito antigos que desejavam corre. Para usuários individuais de computador, isso era útil, mas para muitas corporações e pequenas empresas, era fundamental para sistemas legados.

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, veio outro avanço. Esses sistemas incluíram um novo modo (conhecido como Modo longo ) capaz de endereçar até 16 milhões de terabytes de memória. Provavelmente demorará muito até que isso se torne um fator limitante para aplicativos de computador.

No entanto, com esse avanço tremendo, veio uma troca significativa. Quando os usuários tentaram executar aplicativos de 16 bits que exigiam o 'modo real' ou 'modo 8086 virtual' há muito suportado, eles descobriram uma mensagem de erro que dizia: 'Program.exe não é um aplicativo Win32 válido.'

Foi frustrante, mas não foi o fim do mundo. Comercial poderia usar emuladores ou instalar máquinas virtuais executando 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 do MS-DOS de 16 bits, não é impossível para os usuários fazerem isso usando uma solução alternativa. Mas por que isso aconteceu?

Arquitetura de 64 bits remove o NTVDM

Em cada geração de processador de 32 bits ao longo dos anos, houve um grande esforço no sistema operacional para que o sistema pudesse lidar com aplicativos DOS de 16 bits mais antigos. Isso foi realizado usando o que é conhecido como NTVDM, ou NT Virtual DOS Machine.

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

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

Sem desculpas. Simplesmente não é compatível.

Com a abundância de produtos de virtualização no mercado capazes de fazer isso de qualquer maneira, a Microsoft claramente não sentiu 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 tem suporte nativo 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 de DOS ou usar qualquer outro aplicativo retro dos bons e velhos tempos da computação, existem opções. Aqui estão quatro maneiras de executá-los em sua nova máquina Windows.

1. Jogue jogos retro com DOSBox

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

como abrir as janelas do centro de ação 10

Christian detalhou como instalar e configurar o DOSBox para executar jogos retro antigos em sua máquina Windows.

A grande coisa sobre isso é que a maioria desses jogos são tão antigos que eles são considerados abandonware , para que você possa baixá-los legalmente e reproduzi-los gratuitamente.

2. Execute aplicativos dentro do VirtualBox

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

Um dos aplicativos mais conhecidos e fáceis de configurar para isso é VirtualBox . Temos um guia completo sobre como configurar e usar o VirtualBox , para que você possa começar a usar essa abordagem agora mesmo.

Apenas certifique-se de escolher o sistema operacional correto para instalar. Fique com o Windows 7 ou anterior, e você pode baixar e instalar aplicativos DOS antigos em seu sistema virtual em nenhum momento.

3. Use Linux

Diga o que quiser sobre o Linux, uma coisa que a maioria das distros Linux tem certo é o suporte para aplicativos de 16 bits. Distribuições com o PAE kernal, você não está limitado aos 4 GB de sistemas de 32 bits, portanto, executar uma distro Linux adequada como inicialização dupla em seu sistema é outra opção.

Duas opções para fazer isso: uma solução de inicialização dupla ou uma máquina virtual. Ou você pode simplesmente descartar o Windows completamente e vá com Linux . O que funcionar para você.

4. Use emuladores

O DOSBox não é o único emulador disponível para executar aplicativos DOS antigos. Existem muitos emuladores excelentes que funcionam tão bem quanto. Isso é especialmente verdadeiro se você for um jogador.

Christian abordou como emular um Commodore Amiga , para Raspberry Pi , um Android , e até mesmo SNES clássico em qualquer PC.

Esta é apenas a ponta do iceburgo. Se você pesquisar online, encontrará uma biblioteca inteira de emuladores diferentes que permitirão que você execute praticamente qualquer aplicativo retro que você possa imaginar. A Microsoft pode ter desistido dos aplicativos de 16 bits antigos, mas você ainda tem opções.

Não desista de 16 bits

Não há razão alguma para que você pense 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.

Compartilhado Compartilhado Tweet O email 12 sites de vídeo melhores que o YouTube

Aqui estão alguns sites de vídeo alternativos ao YouTube. Cada um deles ocupa um nicho diferente, mas vale a pena adicioná-lo aos seus favoritos.

Leia a seguir
Tópicos relacionados
  • Jogos
  • Tecnologia Explicada
  • Emulação
  • Windows 10
  • 64 bits
Sobre o autor Ryan Dube(942 artigos publicados)

Ryan é bacharel em Engenharia Elétrica. Ele trabalhou 13 anos em engenharia de automação, 5 anos em TI e agora é engenheiro de aplicativos. Ex-editor-chefe da MakeUseOf, ele palestrou em conferências nacionais sobre visualização de dados e foi apresentado na TV e no rádio nacionais.

Mais de Ryan Dube

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever