Por que o Windows 7 64 bit não roda programas de 32 bits?

9

Pelo que entendi, a arquitetura não mudou tanto quanto de 16 bits para 32 bits, então por que precisamos do modo XP e similares para executar aplicativos de 32 bits no Windows 7 de 64 bits?

Ou entendi errado?

    
por Oscar 04.05.2011 / 15:55

3 respostas

16

pode executar programas de 32 bits bem. Não pode executar programas de 16 bits.

O modo XP é um pouco seguro - se um determinado software não rodar em 7 (32 ou 64 bits - o modo xp está disponível para edição profissional e para cima em ambos), você pode executá-lo no modo XP. Isso não aconteceu comigo ainda, mas é provavelmente para o público que pode pegar o XP das minhas mãos moribundas.

Na maioria dos casos, o modo de compatibilidade fará isso

    
por 04.05.2011 / 15:56
5

Espero que isso lance alguma luz sobre incompatibilidades:

A Microsoft decidiu reforçar o kernel com as versões de 64 bits. Os drivers de dispositivos têm o mesmo nível de acesso ao hardware que o kernel, portanto, algumas coisas específicas que foram alteradas nas versões de 64 bits no nome da segurança são:

  • Os drivers devem ser assinados pela Microsoft para serem carregados.
  • Não sei se tecnicamente drivers de 32 bits podem funcionar com um kernel de 64 bits (improvável), mas a Microsoft não está assinando novos drivers de 32 bits com a chave que o kernel de 64 bits deseja. Portanto, todos os drivers XP existentes de 32 bits não funcionarão no Vista / 7 de 64 bits.
  • Os drivers não podem substituir ou corrigir o kernel.

A Microsoft também mudou para um novo modelo de driver de exibição de vídeo (LDDM), mas manteve o antigo (XDDM). O XDDM, o modelo antigo, não suporta o Aero.

Alguns programas carregam drivers de dispositivos personalizados rapidamente para realizar suas tarefas. Estes não funcionarão no Vista / 7.

A Microsoft atualizou alguns componentes no Vista / 7. Isso pode significar uma mudança no comportamento não documentado desses componentes. Programas que dependem de erros dentro desses componentes, ou funções DLL não documentadas também teriam um problema.

    
por 04.05.2011 / 17:01
2

Os programas de 32 bits devem rodar bem no Windows de 64 bits.

O modo XP é para programas incompatíveis com o Windows Vista e o Windows 7 de qualquer tipo.

Consulte este artigo do Ars Technica para obter mais informações.

The issue really came to a head with the release of Windows Vista. Vista's compatibility with XP was very good, but it wasn't perfect. Microsoft did a lot of work on Vista to harden it against attacks (UAC, of course, but also other things, like prohibiting services from having user interaction), and together these modifications and improvements, along with more mundane stuff like updating the version number that Windows has, have conspired to break some old software.

    
por 04.05.2011 / 16:00