Espaço de endereço virtual (gerenciamento de memória)

O espaço de endereço virtual para um processo é o conjunto de endereços de memória virtual que ele pode usar. O espaço de endereço para cada processo é privado e não pode ser acessado por outros processos, a menos que seja compartilhado.

Um endereço virtual não representa a localização física real de um objeto na memória. Em vez disso, o sistema mantém uma tabela de páginas para cada processo, que é uma estrutura de dados interna usada para converter endereços virtuais nos endereços físicos correspondentes. Cada vez que um thread faz referência a um endereço, o sistema converte o endereço virtual em um endereço físico.

O espaço de endereço virtual para Windows de 32 bits tem 4 gigabytes (GB) de tamanho e é dividido em duas partições: uma para uso pelo processo e outra reservada para uso pelo sistema. Para obter mais informações sobre o espaço de endereço virtual no Windows de 64 bits, consulte Espaço de endereço virtual no Windows de 64 bits.

Para obter mais informações sobre memória virtual, consulte os tópicos a seguir:

Espaço de endereço virtual padrão para Windows de 32 bits

A tabela a seguir mostra o intervalo de memória padrão para cada partição.

Faixa de memória Uso
Baixo 2 GB (0x00000000 a 0x7FFFFFFF) Usado pelo processo.
Alto 2 GB (0x80000000 a 0xFFFFFFFF) Usado pelo sistema.

 

Espaço de endereço virtual para Windows de 32 bits com 4GT

Se o ajuste de 4 gigabytes (4GT) estiver habilitado, o intervalo de memória para cada partição será o seguinte.

Faixa de memória Uso
Baixo 2 GB (0x00000000 a 0xBFFFFFFF) Usado pelo processo.
Alto 2 GB (0xC0000000 a 0xFFFFFFFF) Usado pelo sistema.

 

Depois que o 4GT for habilitado, um processo que tenha o sinalizador IMAGE_FILE_LARGE_ADDRESS_AWARE definido no cabeçalho de imagem terá acesso ao 1 GB adicional de memória acima dos 2 GB baixos.

Ajustando o espaço de endereçamento virtual para Windows de 32 bits

Você pode usar o seguinte comando para definir uma opção de entrada de inicialização que configura o tamanho da partição que está disponível para uso pelo processo para um valor entre 2048 (2 GB) e 3072 (3 GB):

BCDEdit /set increaseuserva Megabytes

Depois que a opção de entrada de inicialização é definida, a faixa de memória para cada partição é a seguinte.

Faixa de memória Uso
Baixo (0x00000000 a Megabytes) Usado pelo processo.
Alto (Megabytes+1 a 0xFFFFFFFF) Usado pelo sistema.

 

Windows Server 2003: defina a opção /USERVA em boot.ini como um valor entre 2048 e 3072.