Por que o aplicativo de 64 bits não pode ser instalado no sistema operacional de 32 bits? [duplicado]

1

Recentemente, notei que, em um sistema operacional Windows de 64 bits, a maioria dos aplicativos de 32 bits pode ser instalada. Mas em um sistema operacional de 32 bits, a maioria dos aplicativos de 64 bits não pode ser instalada. Por que isso acontece?

    
por TomJ 04.04.2014 / 19:27

3 respostas

4

Os aplicativos de 64 bits são compilados para aproveitar os registradores de 64 bits nos processadores x86-64, o que também requer que o processador esteja em execução no modo adequado e que os tamanhos das palavras-chave da API do sistema operacional correspondam.

Os sistemas operacionais de 32 bits geralmente usam o modo protegido , que permite apenas o uso de registros de 32 bits (por exemplo, EAX , EBX ). Em processadores x86-64, a compatibilidade de 64 bits é adicionada como o modo longo , no qual os sistemas operacionais de 64 bits são executados .

Além disso, a versão de 64 bits do Windows inclui a camada de compatibilidade WoW64 que traduz dinamicamente as chamadas de API de 32 bits para os equivalentes de 64 bits e alterna a CPU entre modos de 32 bits protegidos e 64 bits quando o processo está agendado para ser executado.

Outro ponto interessante que entra em jogo com processadores de 64 bits é a virtualização de hardware . Dado o suporte de hardware adequado, às vezes pode-se executar uma máquina virtual (por exemplo, usando VirtualBox ou VMWare) que contém um sistema operacional convidado de 64 bits, enquanto o sistema operacional host é de apenas 32 bits (novamente, dada a disponibilidade da virtualização de hardware x86-64) ). Para obter detalhes sobre como fazer isso com o VirtualBox, consulte esta seção do manual.

    
por 04.04.2014 / 19:46
0

Um aplicativo de 64 bits requer recursos que um aplicativo de 32 bits não pode fornecer. É como colocar uma estaca quadrada em um buraco redondo.

    
por 04.04.2014 / 19:34
0

Além disso, um aplicativo de 32 bits só pode alocar até (máximo) 4 Gb de ram. Como a limitação de aplicativos de 64 bits é muito maior (até 512 GB de RAM, seria um problema se um programa de 64 bits precisasse alocar mais memória. O programa falharia e seu computador geraria um BSoD informando que ele pode aloque a memória.

    
por 04.04.2014 / 21:41