O que acontece quando você instala> 4 GB de RAM em um computador com sistema operacional de 32 bits?

10

Portanto, sou um programador e não sou um completo idiota, então sei exatamente por que você não pode acessar a memória onde não pode ter ponteiros. Mas nunca tentei isso e acho que nunca, porque parece um grande desperdício de dinheiro / tempo.

Só estou me perguntando se existem ferramentas que me permitam acessar meu himem (você acha que já teríamos contornado esse problema agora).

Peter Turner
fonte
Confira esta forma alternativa de fraseado a mesma pergunta: superuser.com/questions/7964/where-did-the-other-8-gb-of-ram-go
therefromhere
Obrigado, aqui está uma boa resposta também, talvez seja necessário fechar esta pergunta. serverfault.com/questions/3342/…
Peter Turner

Respostas:

20

Se você possui um processador com a Extensão de Endereço Físico (que você provavelmente possui ) e o sistema operacional correto ( por exemplo, não uma versão para consumidor do Windows, ele usa PAE, mas está limitado a 4 GB ), a memória pode ser mapeada e usada normalmente. Caso contrário, a memória simplesmente não será endereçada, o sistema operacional informará que você possui quantos chips forem grandes, mas eles não serão adicionados à quantidade de memória que você pode acessar.

Mike McQuaid
fonte
3
Por que as versões normais do Windows não oferecem suporte ao PAE? Apenas uma outra razão para usar Linux ...
Zifre
1
Porque as versões de 64 bits / servidor custam mais.
Martin Beckett
2
Mesmo as versões de consumidor do Windows suportam PAE - elas têm um limite de 4 GB (por motivos de compatibilidade e marketing). (O PAE ainda é usado para o recurso "Prevenção de execução de dados").
grawity
3
@Zifre, muitos drivers direcionados ao consumidor não conseguem lidar com o PAE e> 4G de RAM no Windows. Dessa forma, a ativação do PAE geralmente resulta em falhas misteriosas e, portanto, é usada apenas nas edições do servidor, onde você provavelmente instalará drivers de qualidade superior projetados para grandes quantidades de memória.
bdonlan
bdonlan: O PAE também está ativado nas versões de consumidor, eles apenas têm o limite artificial de 4 GB por causa disso.
grawity
1

As coisas funcionariam bem, já que 4 GB é o limite para um processador de 32 bits. Este artigo é mais detalhado e mostra que você pode instalar e usar muito mais que 4 GB em um sistema operacional de 32 bits.

mandroid
fonte
Exceto que nem todo espaço de endereço real é necessariamente dedicado à memória física.
27710 Jason S
Desculpe, eu quis dizer mais de 4 GB, apenas algo na faixa de mais de 2 ^ 32.
22640 Peter Turner
1

Suponho que, tecnicamente, se o sistema operacional fosse bem projetado, você poderia usar mais de 4 GB. Não há razão para pensar que um sistema operacional com capacidade de memória virtual não possa usar endereços virtuais de 32 bits com endereços reais de 64 bits.

Jason S
fonte
1

Depende do sistema operacional de 32 bits que você quer dizer!

É claro que nos sistemas operacionais modernos, você pode conectar o máximo que sua placa-mãe pode suportar sem problemas (embora você não consiga usar tudo), mas esse nem sempre foi o caso, pelo menos no Windows:

Um erro no Windows 95, 98, SE e ME surge se você tiver mais de 512 MB de memória instalada.

http://answers.google.com/answers/threadview/id/333688.html

Fator Místico
fonte
0

A primeira coisa a entender é que os sistemas modernos de computador usam memória virtual. Você pode ter endereços virtuais de 32 bits para aplicativos enquanto tiver endereços físicos maiores que 32 bits.

A segunda coisa a entender é que o espaço de endereçamento físico é usado para várias coisas, mais significativamente os periféricos principais de memória ram e memória mapeada. As placas gráficas em particular geralmente têm grandes regiões mapeadas de memória. O resultado é que, se você tiver apenas 4 GB de espaço de endereço físico utilizável, poderá acabar com significativamente menos de 4 GB de RAM utilizável. Aproximadamente 3,5 GB utilizáveis ​​são típicos, mas eu vi sistemas em que era tão baixo quanto 2,5 GB.

Em um PC para suportar mais de 4 GB de espaço físico de endereço, um mecanismo chamado PAE é usado. Para que isso funcione, várias coisas são necessárias.

  1. A CPU deve suportá-lo.
  2. O chipset deve suportá-lo.
  3. O BIOS deve suportá-lo.
  4. O sistema operacional deve suportá-lo.

As CPUs suportam o PAE há muito tempo, isso não é um problema.

Muitos chipsets mais antigos estavam limitados a 4 GB de espaço de endereço físico. Os chipsets Intel para laptops IIRC obtiveram suporte para mais de 4 GB de espaço de endereço com a geração "Santa Rosa" em 2007. Não tenho certeza sobre os chipsets para desktop, mas espero que seja na mesma época. Os chipsets da estação de trabalho / servidor obviamente receberam suporte muito mais cedo.

BIOSs vulneráveis ​​geralmente o suportam se o chipset suportar. Não me surpreenderia se houver algumas exceções.

OS é espinhoso. O Linux e o Windows suportam o PAE há muito tempo. Infelizmente, desde que o Windows XP service pack 2 MS limitou artificialmente o espaço de endereço físico a 4 GB. Eles alegam que fizeram isso por causa de motoristas de buggy, os cínicos suspeitam que o fizeram para forçar as pessoas a comprar edições de servidor.

No Windows XP, isso é feito no kernel e basicamente não pode ser desfeito. No entanto, em versões posteriores, pode ser ignorado com alguns pequenos hacks no kernel. Veja https://wj32.org/wp/ para obter detalhes.

plugwash
fonte