Outros benefícios do sistema operacional de 64 bits, além da expansão da memória?

40

Estou tentando convencer alguém dos benefícios de mudar para um sistema operacional de 64 bits, mas estou tendo dificuldades para encontrar argumentos que não sejam "você pode usar mais de 3 GB de RAM". Existem outros benefícios claramente comunicáveis ​​em ter um sistema operacional de 64 bits?

Jonathan Prior
fonte
11
Boa pergunta, eu tenho pensado o mesmo. Talvez você deva esclarecer que tipo de pessoa você está tentando convencer, porque algumas das respostas abaixo seriam muito técnicas se estivermos falando de um usuário casual de computador.
Ash
11
ashh: isso ocorre porque os benefícios e as desvantagens dos sistemas operacionais de 64 bits são muito técnicos. Pelo menos no Linux, para usuários finais não técnicos, quase não há diferença perceptível (até eu sempre esqueço se a máquina que estou usando é de 64 bits ou de 32 bits); no Windows, existem mais incompatibilidades e estranhezas para lidar com 64 bits, mas, além disso, um usuário final não técnico dificilmente notará a diferença.
CesarB

Respostas:

27
  • Para x86-64 em comparação com IA-32, há o dobro de registros, o que permite aos compiladores gerar um código melhor.
  • Na maioria dos sistemas operacionais, a ABI de 64 bits permite a geração de código melhor que a ABI de 32 bits (passando parâmetros nos registros em vez de na pilha, por exemplo).
  • Algumas coisas que são extensões no IA-32 estão sempre presentes no x86-64, portanto, os programas podem usá-los sem a necessidade de codificar um fallback (por exemplo, um certo nível de SSE).
  • Por fim, mas não menos importante, 64 bits time_t, que serão cada vez mais importantes quando chegarmos perto de 2038.
CesarB
fonte
2
Você precisa explicar o que você quer dizer com: "o dobro de registros, o que permite aos compiladores gerar um código melhor". O que é "código melhor"?
Ash
11
Também notei que operações com números inteiros de 64 bits são aproximadamente quatro vezes mais rápidas no código de 64 bits do que no código de 32 bits (eu escolho regularmente o compilador C errado aqui e depois me pergunto por que Lua é mais rápida que C :))
Joey
4
ashh: Os registradores são os locais de armazenamento aos quais a CPU tem acesso mais rápido, mas no x86 eles são um recurso muito limitado. Portanto, se você tiver muitas variáveis ​​locais necessárias, precisará alterá-las constantemente dos registradores para a pilha e voltar novamente, o que leva tempo. Com mais registros, você pode manter um número maior deles ao mesmo tempo sem precisar usar a pilha. Compare com você apenas com as duas mãos: você só pode manipular duas coisas por vez; com quatro mãos, você pode fazer o dobro (se o seu cérebro acompanhar, mas isso de lado por enquanto).
214 Joey Joey
@ Johannes, você deve adicionar seu comentário como resposta a esta pergunta! Eu estava pedindo retoricamente para que César acrescentasse tal esclarecimento.
Ash
11
Você deu várias razões técnicas sem explicar o que elas significam. O que é "código melhor" e como isso beneficia o usuário?
precisa saber é o seguinte
7

De fato, você pode executar mais de 3 GB (ou mais de 4 GB) de RAM em sistemas operacionais de 32 bits. O PAE fornece um meio para um processador x86 ou x86-64 acessar até 64 GB de memória, mesmo em um sistema operacional de 32 bits. Não é tão simples como executar um sistema operacional de 64 bits, lembre-se. A memória é paginada e, portanto, cada processo ainda está limitado a no máximo 4 GB. Além disso, nem todos os sistemas operacionais suportam isso. Algumas versões do Windows de 32 bits utilizavam o PAE, mas, infelizmente, para suportar drivers mal escritos, a maioria das versões limitava o suporte a 4 GB de memória. Por exemplo, o Windows XP e o Windows Vista estão limitados a 4 GB (e, como observado, tendem a expor apenas cerca de 3 GB). Por outro lado, o Windows Server 2008 Enterprise, Datacenter suporta 64 GB de RAM.

O kernel do Linux suportou mais de 4 GB como parte do kernel 2.6 . No entanto, as distribuições Linux às vezes fazem com que você instale uma imagem do kernel "servidor" para fazer uso desse recurso.

ChrisInEdmonton
fonte
Bom ponto. Não consigo entender por que as pessoas ainda acreditam que precisam de um sistema operacional de 64 bits para utilizar mais de 4 GB de RAM.
Neu242
Com o Linux, outra opção é executar um kernel de 64 bits e um espaço de usuário de 32 bits, o que lhe dá acesso total a> = 4 GB de RAM, embora os processos ainda estejam limitados a 4 GB cada.
TRS-80
5

Realmente depende do que você deseja usar o sistema operacional. Para a grande maioria dos usuários "normais", a mudança para 64 bits não dá muito a eles. As únicas áreas atualmente em que 64 bits são realmente úteis é se você deseja usar mais de 4 GB de memória (como você declarou) ou fazer cálculos com números que não cabem em 32 bits.

Eventualmente, todos os PCs e sistemas operacionais virão apenas em variedades de 64 bits, mas, por enquanto, tudo o que eles querem fazer é navegar na Internet ou verificar e-mails, não há uma necessidade urgente de mudar para 64 bits.

Andy
fonte
Para mim, o suporte extra à memória já é uma boa razão para atualizar. Aposto que ao longo do tempo, a maioria dos usuários casuais vai se sentir assim, também :-)
marc_s
2
@marc, a maioria dos usuários casuais não se sentirá assim, a menos que os fornecedores de software comecem a escrever clientes de email, navegadores da Web e programas de processadores de texto que precisam de> 4 GB de RAM. Então, novamente, tenho certeza de que não demorará muito para que isso aconteça.
Ash
@ashh meu Firefox já gosta de usar ~ 2 GB de RAM. Não vai demorar muito tempo :)
Quiark
4

Além de ter mais de 3 GB de RAM, qualquer software compilado / gravado com 64 bits em mente pode usar registros e tipos de dados de 64 bits, o que definitivamente pode acelerar aplicativos que movimentam enormes quantidades de dados, como programas 3D, CAD, Photoshop, etc.

No entanto, se você é apenas um Joe comum que não trabalha com programas criativos e apenas lê e-mails, navega na Web, assiste a vídeos do YouTube, provavelmente nem notará a menos que conecte um dispositivo que exija 64 drivers de bit, mas o fornecedor não lançou nenhum.

Steven DeWitt
fonte
2
Eu tive esse problema em muitas ocasiões. Se você usa um sistema x-64 bits existente como servidor, poderá descobrir uma surpresa desagradável ao começar a adicionar hardware adicional existente. Um bom exemplo ilustrativo do dilema que experimentei foi quando tentei adicionar uma placa NIC 3COM 3c509 ao sistema. Não há drivers para hardware legado. Descobri que estava acima do barril e precisava comprar uma placa NIC intel premium para obter um driver de 64 bits que funcionasse. Esse problema desaparecerá com o tempo. Não há incentivo suficiente para os fornecedores oferecerem suporte ao hardware antigo.
Axxmasterr
@Axxmasterr: slots ISA e suporte a CPU x64 na mesma placa-mãe? A sério? Não pode haver muitos deles por aí. Isso é algum tipo de PC industrial?
bk1e
3

O mecanismo .NET JIT (Just-In-Time) contém otimizações mais avançadas na versão x64 (otimização de recursão de cauda, ​​por exemplo). Isso significa que os aplicativos .NET podem executar mais rapidamente em sistemas de 64 bits.

Milan Gardian
fonte
0

Não. É isso.

Para usuários domésticos em geral, não há vantagem em x64. Se qualquer coisa, porque todos os seus ponteiros e agora de 64 bits, você pode achar que usa mais memória para fazer a mesma coisa.

A única vantagem significativa do x64 é mais memória, e atualmente isso está realmente sendo utilizado pelos servidores.

Simon P Stevens
fonte
0

Se você puder encontrar algumas versões boas de 64 bits do seu software popular, sim, fazer o upgrade para 64 bits será uma vantagem. E existem versões de 64 bits de certos aplicativos disponíveis. No entanto, esses aplicativos tendem a estar relacionados a manipulações de imagens, edição de filmes e, claro, edição de sons. Basicamente, apenas aplicativos que lidam com grande quantidade de dados. A qualidade de assistir a um filme em DVD no seu PC também aumentará, pois o sistema pode lidar com os dados um pouco mais rápido e também pode armazenar mais dados, se o sistema tiver mais RAM disponível.

Também há um pequeno ganho de desempenho se você tende a executar muitos aplicativos simultaneamente. (Mesmo que todas essas aplicações sejam versões de 32 bits!) Por quê? Como o próprio sistema operacional pode lidar com a memória adicional um pouco mais fácil, permitindo que mais aplicativos permaneçam na memória, o que resulta em menos trocas no arquivo de troca. (E você também pode ter um arquivo de troca muito maior!)

Mas atualizei para 64 bits porque faço muitas manipulações de imagem, o que requer um sistema poderoso e muita memória. (Bem, eu preciso de muita memória, pelo menos.)

Wim ten Brink
fonte