Benefícios do PAE para programas encadeados em um sistema Windows de 32 bits

4

Se eu tiver um sistema com mais de 4 GB de RAM e PAE habilitado (em uma CPU de 64 bits), um aplicativo de 32 bits encadeado poderá usar um total de 4 GB ou 4 GB por thread?

Eu pergunto porque estou executando o software DAW (estação de trabalho de áudio digital) que é compatível apenas com o Windows XP de 32 bits (não posso usar 7 ou XP x64 devido a drivers ruins) e meu software de gravação (Sonar X1 Producer) é um aplicativo encadeado. Eu pretendo atualizar de 4 GB para 12 GB em breve, e gostaria de poder usar tudo isso (eu posso usar tudo isso na minha instalação Win7 x64). Como só irei rodar a única aplicação, ela é útil principalmente (para a instalação do XP) se cada thread puder usar 4GB, ao contrário do aplicativo que usa 4GB.

    
por gjsmo 31.10.2011 / 01:12

3 respostas

2

O processo poderá usar todos os bytes da RAM física. Não há limite para a quantidade de RAM física que um processo pode usar, desde que o sistema operacional possa acessar essa RAM física.

No entanto, o espaço de endereçamento compartilhado de todos os encadeamentos no processo será fundamentalmente limitado a menos de 4 GB (e, na prática, a 2 GB ou 3 GB), pois esse é o espaço de endereçamento máximo suportado para um processo de 32 bits. Processos de 32 bits usam ponteiros de 32 bits e 2 ^ 32 = 4 GB. Todos os encadeamentos compartilham todo seu espaço de endereço, caso contrário você não poderia passar um ponteiro de um encadeamento para outro.

Esta limitação aplica-se independentemente do PAE e independentemente da quantidade de memória física que você possui. Normalmente, são 2 GB de espaço de endereço para processos de 32 bits. Você pode ajustá-lo para 3 GB com a opção /3GB .

Novamente, isso tem nada relacionado ao uso da memória física - cada processo pode sempre usar cada byte de memória física. É estritamente uma limitação no espaço de endereço. O PAE permite que o sistema operacional use mais memória física. A limitação do espaço de endereço afeta como os processos usam a memória virtual.

    
por 31.10.2011 / 02:56
1

O MSDN discute Extensão de endereço físico e outras memórias grandes endereçamento de extensões. Basicamente, qualquer aplicativo de 32 bits só é capaz de mapear ~ 2GB de memória (depende por máquina). Embora o sistema operacional seja capaz de acessar muito mais, cada aplicativo individual ainda está limitado ao espaço de endereço de 2 GB. Observação: o limite de 2 GB é por processo de 32 bits não por thread.

O Windows XP Professional suporta um modo 4GT (4 gigabytes de sintonização) que permite aos aplicativos endereçar até 3 GB de espaço de endereço. Isso pode ser ativado usando a opção / 3GB no arquivo boot.ini.

    
por 31.10.2011 / 01:35
0

Por padrão, aplicativos de 32 bits. pode acessar 2Gb de espaço de endereço, independentemente da quantidade de RAM física ou o que 'flags' (como / 3G / PAE) estão definidos ..

Aplicativos. com o sinalizador LARGEADDRESSAWARE definido no cabeçalho .exe pode acessar até o total (soma de todas as threads) 3Gb de espaço de endereço em um sistema de 32 bits, 4 GB em um sistema de 64 bits.

    
por 25.09.2013 / 01:45