Qual a importância de ter programas de 64 bits no SO de 64 bits?

40

Atualizei recentemente para o SO de 64 bits (Windows 7) da minha versão antiga de 32 bits. Notei que, embora vários aplicativos estejam disponíveis em 64 bits (por exemplo, cliente DC, Tortoise SVN, driver gráfico), muitos ainda são aplicativos de 32 bits (por exemplo, firefox, adobe reader).

Então, qual a importância de ter aplicativos de 64 bits (desempenho)? Eu uso meu laptop para muitas coisas diferentes, como jogos, codificação etc.

apoorv020
fonte
11
Apenas espere até começar a jogar seus jogos antigos favoritos com instaladores de 16 bits. Trás compatibilidade para aqueles são fornecidos em XP64 / 32, Vista32, e 7 32, mas não Vista64 ou 7 64.
Alain
11
@Alain: Eu nunca consegui rodar jogos antigos no meu sistema operacional de 32 bits, então provavelmente não é uma perda muito grande.
precisa saber é o seguinte
11
É se você ama o Master of Orion II e o Populous the Beginning tanto quanto eu;
Alain
A maior melhoria que notei na perspectiva do usuário é a capacidade de carregar arquivos maiores do que 2GB-ish. Especialmente trabalhando com imagens grandes no software Adobe.
Svardskampe
@ Alain, porque os vários softwares de VM têm níveis variados de suporte de driver de áudio / vídeo para sistemas operacionais antigos, mesmo que isso nem sempre funcione. Eu tive um tempo muito difícil para conseguir as Jóias do Oracle II .
Synetech

Respostas:

35

Não acho tão importante ter aplicativos de 64 bits em si.

A vantagem de ter um aplicativo de 64 bits é que ele pode:

  • Acesse muito mais memória¹
  • Execute operações de registro de 64 bits.²

¹ Um programa de 64 bits pode ser um pouco mais rápido (dependendo de como ele funciona). Se o seu aplicativo estiver com falta de memória (como Photoshop, renderização em 3D etc.), ter uma versão de 64 bits dará acesso a toda a memória do computador. Sem isso, será limitado a algo em torno de 2 GB. Isso é por aplicativo , para que dois aplicativos possam acessar um total de 4 GB.

² Executar uma operação de 64 bits em um sistema operacional de 64 bits é mais rápido do que em um sistema operacional de 32 bits - seriam necessárias pelo menos duas operações de 32 bits para executar a mesma coisa.

Em termos de estabilidade, não deve haver diferença entre aplicativos de 64 e 32 bits.

Majenko
fonte
Acho que meu cliente DC agora faz o hash de arquivos com uma velocidade muito melhorada.
apoorv020
Isso faz sentido se estiver fazendo hashes. Alguns deles podem ser otimizados em larguras de bits mais altas.
Joshua Nurczyk
Também é possível fazer suposições sobre as habilidades da CPU com x86-64, como suporte ao SSE3.
afrazier
4
Por padrão, os aplicativos executados no Windows de 32 bits terão acesso apenas a 2 GB de memória. O sistema operacional como um todo tem acesso a pouco mais de 3 GB no total para ser compartilhado por todos os aplicativos.
Michael Steele
@ Michael Steele está certo. A memória máxima disponível para o sistema é tipicamente 3,12 GB, o restante é reservado para endereçamento de hardware. Para uma conta mais detalhada, consulte aqui: support.microsoft.com/kb/929605
Steven Evers
10

O maior benefício do uso de um aplicativo de 64 bits em um sistema operacional de 64 bits é que você tem acesso total a toda a memória disponível no sistema. Com endereços de memória de 64 bits, o aplicativo pode acessar mais memória do que seu equivalente em 32 bits.

Além disso, os programas de 64 bits funcionarão "melhor" que os de 32 bits, pois estão usando a arquitetura do sistema nativo. Operações como leituras de memória são executadas nativamente, etc. Isso significa que o sistema operacional não precisa executar nenhum trabalho extra de "tradução" (empacotamento / descompactação de memória etc.) dos comandos que o aplicativo está usando.

No entanto, a maioria dos programas - como Firefox, Word, Adobe Reader etc. - passa a maior parte do tempo aguardando a entrada do usuário, para que a eficiência não seja necessariamente uma preocupação primordial. Além disso, a maioria desses aplicativos (no momento) não exige a memória extra que os 64 bits lhes dariam acesso.

Programas como drivers gráficos precisam funcionar eficientemente e talvez tenham acesso a registros de memória mais altos e, portanto, precisam ter 64 bits.

ChrisF
fonte
11
Os drivers do sistema precisam ter 64 bits em muitos casos, se precisarem acessar determinados registros de memória. Eu acredito que as coisas certan irá trabalhar com drivers de 32 bits em um sistema de 64 bits, mas nada intensivo como uma placa gráfica
Joshua Nurczyk
11
@ Josué: Os drivers do sistema realmente dependem do sistema operacional e do arco da máquina. Algumas CPUs de 64 bits não têm modos, apenas adicionamos instruções de 64 bits. O x86_64 possui um comutador de modo caro, que varia de 64 a 32 e vice-versa; portanto, os drivers quase sempre precisam ter 64 bits.
Zan Lynx
Por favor, explique o que você quer dizer com trabalho "melhor".
glenviewjeff
5

Sim, você pode executar sem problemas os aplicativos de 32 bits no sistema operacional de 64 bits, MAS. Há outro problema de desperdiçar espaço - as bibliotecas. Basicamente, um aplicativo carrega a biblioteca apropriada de que precisa, mas o problema é que as bibliotecas de 64 bits não são compatíveis com as de 32 bits e vice-versa.

É claro que geralmente as bibliotecas necessárias são enviadas com o próprio aplicativo, mas as principais - as Windows - são armazenadas duas vezes - uma delas - a de 32 bits e a outra - a de 64 bits.

Eles também ocupam mais memória na RAM se você tiver um aplicativo de 32 bits e outro de 64 bits em execução simultaneamente - os dois aplicativos carregaram sua própria versão da biblioteca e, portanto, estão usando mais RAM do que poderiam se estivessem usando a mesma biblioteca.

Portanto, para economizar espaço de RAM e disco rígido - tente executar e instalar aplicativos apenas de 64 bits e instale aplicativos de 32 bits apenas se não conseguir encontrar uma versão de 64 bits. Agora, mais e mais aplicativos são enviados nas duas versões.

Evengard
fonte
4

A resposta é "depende"

Alguns 'aplicativos' de 32 bits não funcionam no modo de 64 bits, por exemplo, drivers gráficos e extensões de shell (como o Tortoise SVN). Nesse caso, você precisa de uma versão de 64 bits.

Para outras aplicações normais, isso depende do que elas fazem.

Se você tiver, por exemplo, 16 GB de memória e estiver executando o SQL Server com um banco de dados extremamente grande, é muito importante ter a versão de 64 bits do SQL.

Se, no entanto, você tiver 4Gb de memória (com quase 1 gb 'roubado' pela placa de vídeo), poderá estar com pouca memória e usar aplicativos de 64 bits (que podem exigir mais memória) pode realmente tornar o sistema lento.

Mesmo ignorando as considerações de memória, não é possível afirmar com certeza que um aplicativo de 32 bits em execução no modo de 64 bits será mais rápido ou mais lento que o equivalente a 64 bits, nem se o aplicativo será mais rápido ou mais lento do que quando executado em um 32 sistema operacional de bits.

Pessoalmente, se eu estiver procurando por um utilitário ou aplicativo pequeno para minha máquina, vou verificar se ele funciona com o sistema operacional de 64 bits, mas se o aplicativo é de 32 ou 64 bits normalmente não está no topo da minha lista de prioridades .

De acordo com o Process Explorer, atualmente tenho 25 processos de 64 bits e 28 processos de 32 bits em execução, ignorando o Chrome)

sgmoore
fonte
3

Lembre-se de que, no Windows de 64 bits, os aplicativos de 32 bits estão sendo executados por meio de uma camada de emulação conhecida como WOW64 , que impõe algumas limitações adicionais que não estão presentes na execução em um sistema operacional Windows de 32 bits.

De https://msdn.microsoft.com/en-us/library/aa384219(v=vs.85).aspx :

Desempenho e consumo de memória em WOW64

  • Hardware do processador. A emulação de instruções é realizada no chip. No processador x64, as instruções são executadas nativamente pela microarquitetura. Portanto, a velocidade de execução no WOW64 no x64 é semelhante à velocidade no Windows de 32 bits. No processador Intel Itanium, mais software está envolvido na emulação e o desempenho sofre como resultado.
  • Sobrecarga de thunk da API. Essa sobrecarga é pequena se comparada à chamada do kernel do NT. As funções do kernel do NT devem ser chamadas com pouca frequência.
  • Tamanho da memória virtual. No processador Intel Itanium, o WOW64 adiciona uma sobrecarga significativa se duas ou mais instâncias do mesmo aplicativo de 32 bits estiverem sendo executadas simultaneamente. Isso ocorre devido às páginas nativas de 8 KB no Intel Itanium, o que complica a emulação das páginas nativas de 4 KB na arquitetura x86 (mais páginas são marcadas como graváveis; todas as páginas graváveis ​​são privadas do processo). Isso pode afetar adversamente a escalabilidade dos Serviços de Terminal em determinados processadores. Este não é o caso do processador x64.
  • Conjunto de trabalho. WOW64 aumenta o tamanho do conjunto de trabalho do aplicativo.

  • O WOW64 permite que aplicativos de 32 bits aproveitem o kernel de 64 bits. Portanto, aplicativos de 32 bits podem usar um número maior de identificadores de kernel e identificadores de janela. No entanto, os aplicativos de 32 bits podem não conseguir criar tantos threads no WOW64 quanto possível ao executar nativamente em sistemas baseados em x86 porque o WOW64 aloca uma pilha de 64 bits adicional (geralmente 512 KB) para cada thread. Além disso, uma certa quantidade de espaço de endereço é reservada para o próprio WOW64 e as estruturas de dados que ele usa. A quantidade reservada depende do processador; mais é reservado no Intel Itanium do que no processador x64.

Adam Lawrence
fonte
+0. Quais são essas limitações? Por favor edite sua resposta e explicar.
Inesquecívelid
Procurando por zumbis, não é? Esta resposta tem quase seis anos de idade, você sabe ...
Adam Lawrence
+1. Obrigado pela sua edição! Tentei postar uma variante mais recente da pergunta, mas ela foi fechada como "muito ampla". Até onde eu sei, todas as versões abertas dessa pergunta, em todo lugar do Superusuário, têm pelo menos seis anos de idade.
Inesquecívelid
1

Não vamos cortar tão curto. Rochas de 64 bits. Se você conseguir, use-o. O Visual Studio, SQL Server (mesmo usando apenas o Management Studio) se beneficia de uma versão em execução de 64 bits. Você não pode dizer que não vale a pena. Não, não é uma necessidade, mas devemos procurar melhorar a velocidade dos notebooks e laptops de desenvolvedores e outros usuários (mesmo não técnicos que usam simples MS Word). Por que não aproveitar, promover e falar de 64 bits na sua empresa? Realmente não é mais tão novo ... está se tornando ou tem sido comum.

É ridículo dizer que você não se beneficia muito de 64 bits, assim como é ridículo me dizer que, adicionando 4 shows para completar um total de 8 shows em qualquer laptop, qualquer usuário não vale a pena. Esse é apenas mais um exemplo de administradores ou corporações gananciosas da Rede de TI em que a atualização para um de 64 bits geralmente é gratuita na maioria dos casos e, em seguida, para a RAM, é ridiculamente barata e melhora a produtividade do usuário duas vezes.

Portanto, não, não é uma obrigação, mas deve ser uma obrigação. Não gosto de minimalistas quando se trata de ferramentas como desktops e laptops.

Eu realmente não concordo quando as pessoas dizem que aplicativos de 64 bits são algo com o qual você ainda precisa ser super "cuidadoso" ... pelo menos não tanto quanto quando foi lançado, isso é certo.

Se o problema de 64 bits fosse um problema, a maioria dos desktops e laptops hoje em dia não migraria para o Win 7. de 64 bits. Toda a empresa está lançando o Win 7 Pro de 64 bits para TODOS os usuários (mais de 100,00 funcionários)

WeDoTDD.com
fonte
Seria útil se você pudesse explicar especificamente o que "arrasa" nos 64 bits. Uma explicação técnica é o que se busca aqui.
glenviewjeff
Então, adicionar 4gigs a uma máquina que nunca ocupou mais memória do que antes faz sentido? Ok, se você sabe que o usaria se disponível, mas isso é desnecessário. Isso não tem nada a ver com ganância, mas apenas que você pode investir em coisas que podem fazer mais sentido. Atualizar a CPU, em qualquer caso, trará vantagens. Não estou dizendo que muita RAM é uma coisa ruim (eu tenho 16 GB), mas eu não atualizaria meu laptop antigo para 8 GB, pois os 4 GB mantêm minha instalação do Arch muito bem! 64 bits, no entanto, é sth. que realmente na maioria dos casos é pf vantagem, isso mesmo
larkey 08/08/15
0

Depende inteiramente da aplicação. A maioria dos aplicativos opera exatamente da mesma forma em 32 bits e em 64 bits. Para os aplicativos em que isso importa, você quase certamente saberá que as versões de 32 bits são limitadas e não precisam fazer a pergunta.

Uma área para se ter cuidado é quando um aplicativo possui uma versão de 64 bits com suporte de terceiros insuficiente. Estou pensando no Excel 2010, que está disponível no formato de 64 bits. O Excel 64 em si funciona perfeitamente bem, mas poucas extensões e complementos de terceiros foram portados ainda. Como outro exemplo, considere o Python no Windows. Novamente, vários módulos não essenciais não estão disponíveis ou são difíceis de obter na forma de 64 bits.

Portanto, a menos que você realmente precise desesperadamente de 64 bits para o aplicativo em questão, geralmente poderá ficar mais seguro com a versão de 32 bits.

David Heffernan
fonte