Existe uma razão técnica pela qual as janelas de 32 bits estão limitadas a 4 Gb de RAM? [duplicado]

5

Como você pode ver em esta tabela , todas as versões do x86 Win 7 maximizam a 4Gb.

Existe uma razão técnica para isso ou isso é apenas uma estratégia de marketing para levar as pessoas a comprar um sistema operacional mais caro?

    
por jaminto 30.12.2011 / 05:00

2 respostas

11

Parece haver muita confusão na indústria sobre o que é comumente chamado de "limite de memória de 4GB" do Windows. Ao falar sobre ajuste de desempenho e dimensionamento de servidor, as pessoas são rápidas em mencionar o fato de que um aplicativo em 32 bits O sistema Windows só pode acessar 4 GB de memória. Mas o que exatamente isso significa?

Por definição, um processador de 32 bits usa 32 bits para se referir à localização de cada byte de memória. 2 ^ 32 = 4,2 bilhões, o que significa que um endereço de memória de 32 bits só pode se referir a 4,2 bilhões de locais únicos (ou seja, 4 GB).

No mundo do Windows de 32 bits, cada aplicativo tem seu próprio espaço de memória "virtual" de 4 GB. (Isso significa que cada aplicativo funciona como se tivesse uma memória plana de 4GB e o gerenciador de memória do sistema controla o mapeamento de memória, quais aplicativos estão usando qual memória, gerenciamento de arquivo de paginação, etc.)

Esse espaço de 4 GB é dividido em duas partes, com 2 GB dedicados ao uso do kernel e 2 GB para uso do aplicativo. Cada aplicativo recebe seus próprios 2 GB, mas todos os aplicativos precisam compartilhar o mesmo espaço de kernel de 2 GB.

FONTE: link

[Editar RE: PAE]

A arquitetura de hardware do processador x86 é aumentada com linhas de endereço adicionais usadas para selecionar a memória adicional, de modo que o tamanho do endereço físico aumenta de 32 bits para 36 bits. Isso, teoricamente, aumenta o tamanho máximo da memória física de 4 GB para 64 GB. O tamanho de 32 bits do endereço virtual não é alterado, portanto, o software de aplicativo regular continua a usar instruções com endereços de 32 bits e (em um modelo de memória simples) é limitado a 4 gigabytes de espaço de endereço virtual. O sistema operacional usa tabelas de páginas para mapear esse espaço de endereço de 4 GB nos 64 GB de memória física. O mapeamento é normalmente aplicado de maneira diferente para cada processo. Dessa forma, a memória extra é útil mesmo que nenhum aplicativo regular possa acessar tudo simultaneamente.

    
por 30.12.2011 / 05:07
7

Sim e não.

Nativamente, um processador de 32 bits só pode manipular 4 GiB de RAM, uma vez que existem apenas 2 ^ 32 = 4,294,967,296 números diferentes que podem ser representados usando 32 bits.

Sempre que você armazenar algo na memória, precisará salvar o endereço para poder lê-lo ou manipulá-lo. Normalmente, a CPU usa apenas um registro (32 bits) para armazenar esse endereço. Como há apenas 2 ^ 32 de endereços diferentes, qualquer coisa que exceda a marca 4 GiB permanece sem uso.

No entanto, existem técnicas como PAE (Physical Address Extension, extensão de endereço físico) que permitem que um sistema operacional de 32 bits resolva mais de 4 GiB de RAM.

Simplificando drasticamente o processo, o sistema operacional mapeia cada processo em uma determinada parte da memória (chamada de tabela de páginas). Cada processo ainda é limitado a 4 GiB , mas isso permite que o SO trate de muito mais memória do que apenas 4 GiB .

A versão de 32 bits do Windows Server 2003 Datacenter Edition , por exemplo, suporta até 64 GiB de RAM.

    
por 30.12.2011 / 05:14