Por que há limitação de uso de RAM em sistemas operacionais de 32 bits? [duplicado]

-1

Eu tropecei em muitos blogs sobre as limitações de um Windows de 32 bits em contraste com o de 64 bits. A principal diferença é que um sistema operacional de 32 bits só pode alocar 2 GB de RAM por processo e 4 GB de RAM combinados.

Enquanto o motivo citado é que apenas 2 ^ 32 de espaço de endereço pode ser atribuído pelo sistema operacional de 32 bits, mas ainda estou intrigado como essa limitação entra em jogo? Alguém pode me esclarecer sobre isso?

    
por Shubham 26.03.2012 / 14:59

2 respostas

8

O motivo é porque 2 32 é o maior número inteiro que pode ser armazenado em uma única variável de 32 bits.

Portanto, a menos que você tenha algum esquema para dividir ponteiros em 2 (ou mais) variáveis ou usar números inteiros de 64 bits, é fisicamente impossível endereçar um local de memória maior. Haverá muitas razões pelas quais os números inteiros de 32 bits ou apenas uma única variável serão usados para endereçar a memória, mas a velocidade e a confiabilidade estarão no topo da lista.

    
por 26.03.2012 / 15:03
7

É uma combinação de fatores, e todas as informações foram fornecidas aqui ... embora em bits (sem trocadilhos).

Primeiro, há a limitação física, como declarado, do modelo de 32 bits. Um bit é 1 ou um 0. 32 desses juntos ocupam uma quantidade específica de espaço. Você sabe ... binário ... 10101010 etc. 4gb de espaço único. O intervalo de valores inteiros que podem ser armazenados em 32 bits é de 0 a 4.294.967.295. Portanto, um processador com endereços de memória de 32 bits pode acessar diretamente 4 GiB de memória endereçável por byte.

Agora, com extensão de endereço físico ou PAE ... bem ... para citar " O tamanho de 32 bits do arquivo virtual o endereço 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 mapear este espaço de endereço de 4 GB na [maior quantidade] de memória física.O mapeamento é normalmente aplicado de forma diferente para cada processo.Assim, a memória extra é útil mesmo que nenhuma única aplicação regular possa acessa tudo simultaneamente. "Então, mesmo usando o PAE, embora seu sistema operacional reconheça e exiba que você tem mais de 4GB dentro do seu sistema de 32 bits, nenhum programa terá acesso a todos sua RAM de uma só vez.

Isso esclarece a confusão? Existem apenas 4 gb de espaços de endereçamento de memória exclusivos em um sistema de 32 bits. Como você não pode usar o mesmo espaço de endereço de memória duas vezes simultaneamente sem causar um erro, essa é a limitação física. Tente lembrar ... quando os sistemas de 32 bits foram introduzidos, as pessoas não tinham ideia de usar sistemas com tanta RAM.

    
por 26.03.2012 / 16:05