![Por que o software Windows 9x pode ser executado no Windows 7 de 64 bits?](https://rvso.com/image/1518697/Por%20que%20o%20software%20Windows%209x%20pode%20ser%20executado%20no%20Windows%207%20de%2064%20bits%3F.png)
Por muitos anos (muito depois da introdução do Windows XP), executei uma coleção de desktops antigos com Windows 9x. Basicamente, essas máquinas tinham especificações de hardware muito baixas para serem atualizadas para o XP (e custavam muito dinheiro), então continuei a usá-las, com seu software original: várias instalações do Windows 98SE e do Windows ME (todas rodando como versões de 32 bits).
No caso, nunca usei XP. As máquinas Win9x eram tão confiáveis que ainda funcionavam muito depois do XP e do Vista terem surgido e desaparecido. Mas eventualmente tive que migrar, durante um período de tempo, para o Windows 7 de 64 bits.
Não estou disposto a fazer algo realmente idiota, como perguntar por que tal e tal programa não funciona no Win7 de 64 bits! :-)
Sem exceção, todo o software que eu estava executando no Windows 98SE de 32 bits funcionou imediatamente (por assim dizer) na arquitetura NT de 64 bits do Win7. Hoje, ainda uso vários desses softwares, especialmente os programas de processamento de texto e editores de HTML que uso rotineiramente.
Existe uma razão técnica pela qual nunca tive as dificuldades que esperava ao executar programas do Windows 9x no NT de 64 bits? Fui informado sobre as configurações de 'compatibilidade' no Win7, mas nunca precisei executar um programa no "modo de compatibilidade".
Estou ciente de que o Windows 7 mantém software de 32 e 64 bits em locais separados e os trata de maneira diferente: mas esperava que isso estivesse relacionado a programas de 32 e 64 bits escritos para o Windows 7.
Estou surpreso que os programas do Windows 98 de 32 bits pareçam ser totalmente compatíveis com os programas do Windows XP/Vista/7 de 32 bits e gostaria de entender por que isso acontece. Não há realmente nenhuma diferença entre eles?
Além disso, muitos dos programas antigos do Windows 9x eram/são portáteis. Tenho o hábito de colocá-los em pen drives ou na área de trabalho do Windows 7 e apenas executá-los. Não tive nenhum problema. Mesmo que eles não estejam sendo executados a partir de uma pasta Arquivos de Programas. Novamente, gostaria de entender por que o sistema operacional não se opõe a isso, do ponto de vista técnico.
Estou fazendo algo inseguro? O sistema operacional Windows 7 parece muito estável: mas gostaria de saber se estou pedindo para ele fazer coisas que não deveria.
Responder1
Você deve ser o primeiro usuário a reclamar porque não tem nenhum problema. ;)
Embora a grande mídia tenha feito um grande esforço para dar ao Windows uma reputação imerecida na área de compatibilidade de aplicativos, o fato é que a Microsoft investiu muito em compatibilidade com versões anteriores e a grande maioria dos aplicativos escritos para o Windows 98 ainda podem ser usados no Windows 7. Além disso , o Windows 7 é o sistema operacional mais estável que a Microsoft já desenvolveu. Não se engane, a diferença entre o Windows 7 e o Windows 98 é grande, mas:
- O Windows 98 aproveitou uma rica API do Windows que a Microsoft não se esforçou para reescrever só porque! Por exemplo, a interface paradesenhando um retângulo na tela,criando uma janelaouexibindo uma barra de menuainda é o mesmo.
- O Windows 7 implementou medidas destinadas a resolver os problemas de compatibilidade do software legado. Uma delas é a Virtualização UAC. Os aplicativos do Windows 98 gravaram seus dados de aplicativos na pasta de instalação. O Windows 7 não permite mais isso; no entanto, para aplicativos legados, a Virtualização do UAC redireciona a operação de gravação de dados fora da pasta de instalação do aplicativo para
%LOCALAPPDATA%\VirtualStore
.
Os aplicativos da era Windows 98 que não funcionam mais no Windows 7 incluem aplicativos de 16 bits (que não são executados no Windows de 64 bits, mas às vezes são executados no Windows de 32 bits) e aplicativos que dependem de hacks ou de serviços obscuros de sistema operacional legado.
Responder2
Você está fazendo muitas perguntas aqui, algumas bastante complexas, mas a resposta básica é "A Microsoft se esforça muito para manter a compatibilidade com versões anteriores". Honestamente, uma pergunta melhor seria "por que não funcionaria?", já que tanto o Win9x quanto o NT (incluindo o Win7) usam a API Win32 e o conjunto de instruções x86 (as extensões de 64 bits da AMD para o conjunto de instruções x86 da Intel são compatíveis com versões anteriores; um processador "x64" rodando no modo de 64 bits também pode rodar programas de 32 bits).
A razão mais provável pela qual as coisas não funcionariam seria simplesmente por causa dos controles de acesso. O Win9x não suportava nenhum tipo de controle de acesso; qualquer programa poderia fazer o que quisesse. Usado de forma maliciosa, isso tornou a criação de malware muito fácil. Usado de forma não maliciosa, mas preguiçosa, isso significa que muitos desenvolvedores escreveram seus programas de forma que os programas gravassem dados em suas pastas de instalação. Esta é uma má ideia por uma série de razões diferentes, entre as quais a segurança; em um sistema operacional "real", o local padrão no qual os arquivos são instalados não permite que não-administradores gravem nos arquivos, e você deve executar como não-administrador, exceto ao instalar/atualizar software.
Claro, toda essa coisa de "gravar no diretório de onde você está executando" éfácil(Eu disse que os desenvolvedores estavam sendo preguiçosos...) e sim, também torna o software "portátil" no sentido de que você pode colocá-lo em um flashdrive (que geralmente também carece de controles de acesso, pois eles usam variantes do O sistema de arquivos FAT e o FAT não suportam permissões de arquivo). Executando software desta formaémenos seguro do que instalá-lo em uma área de acesso restrito e executá-lo a partir daí (como um usuário não administrador), mas provavelmente não há problema, desde que você não compartilhe o computador com outras pessoas.
Quanto ao motivo pelo qual o sistema operacional não se opõe... por que você esperaria que isso acontecesse? Program Files
não é umespecialpasta de qualquer forma, é apenas o lugar onde, por convenção, você instala programas. (Na verdade, esta é uma convenção realmente estúpida, porque alguns softwares quebram se você instalá-los em um local com espaços em seu caminho, mas talvez a MS quisesse garantir que os desenvolvedores não estivessem sendo muitoquepreguiçoso...) A única coisa especial Program Files
é que em sistemas de 64 bits, quando processos de 32 bits solicitam a pasta "Arquivos de Programas", eles são direcionados para a Program Files (x86)
pasta. Além disso... o sistema operacional permite executar programas de qualquer lugar ao qual você, usuário, tenha acesso. Alguns programas são instalados intencionalmente em seu perfil de usuário ou em sua própria pasta na raiz da unidade ( C:\Python27
é uma pasta comum de ser vista em uma máquina de desenvolvedor). Esses programas funcionam muito bem.