O limite de 4 GB de RAM em sistemas de 32 bits também afeta o espaço de troca?

11

É sabido que os sistemas de 32 bits podem lidar apenas com 4 GB como quantidade máxima de RAM.

No Linux, esse limite também se aplica a partições de troca? Se meu RAM + swap exceder 4 GB, ele será totalmente usado?

Se a resposta for "não, não se aplica à troca", por quê?

Sekhemty
fonte
3
Essa declaração de limitação de memória física não é verdadeira em todas as plataformas ... "A Extensão de Endereço Físico (PAE) é um recurso que permite que as unidades de processamento central x86 de 32 bits acessem um espaço de endereço físico (incluindo memória de acesso aleatório e memória mapeada). dispositivos) maiores que 4 gigabytes ". en.wikipedia.org/wiki/Physical_Address_Extension
f1assistance
1
@packets Não o confunda mais. Ele realmente precisa aprender sobre conceitos fundamentais como endereçamento virtual e paginação primeiro.
David Marshall
1
Sem problemas, não tenho medo de aprender.
Sekhemty

Respostas:

12

Não, o Imagine RAM é como sua mesa e a troca de espaço / memória virtual é como um arquivo. Você pode colocar muitas informações em um arquivo, mas é difícil de acessar. Quaisquer papéis que você queira usar, é preciso puxá-los e colocá-los sobre a mesa; o problema é que a mesa só pode conter tantos papéis de uma só vez.

As máquinas de 32 bits podem ter apenas uma mesa com 4 GB (2 ^ 32 ou cerca de 4 bilhões de bytes) de tamanho, mas ainda podem ter arquivos quase ilimitados. Eles apenas precisam "trocar" os papéis quando a mesa está cheia e precisam procurar outra página que esteja em um arquivo.


O motivo pelo qual não se aplica à troca é porque o acesso ao conteúdo da RAM ou a execução de código a partir dela é limitado ao tamanho dos números com os quais ele pode trabalhar. Pense nisso como se você pudesse ter apenas 4 bilhões de palavras sobre a mesa, porque é o mais alto que você pode contar e precisa trabalhar diretamente com as palavras. "A palavra 3.547 está incorreta. Altere a palavra 3.452.780 para 'Olá'. Exclua a palavra 6."

Agora, cada página pode ter 4.000 palavras. O problema é que, quando você está referenciando o espaço de troca, não o refere por palavra, apenas por página. Portanto, você ainda pode contar apenas com 4 bilhões, mas pode contar com 4 bilhões de páginas. Na verdade, 4 bilhões de páginas contêm 16 trilhões de palavras - muito, muito mais altas do que você pode contar.

As máquinas de 64 bits podem contar apenas mais, para que possam colocar todas as páginas na mesa de uma só vez, se tiverem uma mesa grande o suficiente. Mesmo se você colocar uma mesa super grande em uma máquina de 32 bits, ainda poderá contar até 4 bilhões, para não ter como referenciar todas as palavras extras na mesa.

Darth Android
fonte
Então, o que você está tentando me dizer é que o espaço de troca atua como um índice para a memória RAM? E, consequentemente, um único GB de swap representa muito mais memória do que um único GB de RAM? De qualquer forma, ainda não consigo entender por que o sistema não pode gerenciar mais de 4 GB de RAM, mas sim com a troca. Por que não estamos todos usando swap em vez de RAM então?
Sekhemty
1
O espaço de troca é como memória "descarregada" e é referenciado em partes muito maiores. 1 GB de RAM é 1 GB de troca, mas a RAM é endereçada por byte e a troca é endereçada por porção. Um exemplo diferente pode ser pensar em embalar amendoins. Quantos amendoins que você pode segurar nas mãos? Talvez 100 antes de tentar pegar mais faça com que alguns saltem entre os dedos? Agora, quantos amendoins de embalagem você pode segurar se os colocarmos em caixas? Milhares? Swap é como as caixas. Você pode gerenciar dados em partes maiores, mas não pode acessar os dados em si.
Darth Android
1
@Sekhemty: Para sua segunda pergunta sobre por que estamos usando o swap o tempo todo - o arquivo de swap existe no seu disco rígido e a velocidade na qual o computador pode acessar os dados no disco rígido depende da velocidade de acesso do disco (e então alguns). Mas mesmo os discos rígidos mais rápidos são muito mais lentos que a RAM física. Então é uma questão de velocidade. A arquitetura x86 atual também não permite isso de qualquer maneira (sem RAM; apenas troca). O arquivo Swap é um conceito de SO que o sistema não reconhece.
#Boyalex #
10

Você está confundindo memória física e virtual.

A RAM é memória física. O espaço de troca pode conter muitos espaços de endereço virtual de 4 GB.

David Marshall
fonte