Large Memory Support: PAE (Physical Address Extension)
Retomando esta série de posts sobre Large Memory Support, hoje vamos abordar o PAE:
- 4-Gigabyte Tuning (4GT)
- Physical Address Extension (PAE)
- Address Windowing Extensions (AWE)
- Large-Page Support
Physical Address Extension
O PAE é uma funcionalidade dos processadores que permitem a um processador baseado na arquitectura x86 poder aceder a mais do que 4Gb de memória física (em sistemas Operativos Windows que o permitam). Algumas versões 32 bits Windows a executar em sistemas baseados na arquitectura x86, podem tirar partido do PAE para aceder até 64GB ou 128GB de memoria física, dependendo do tipo de processador.
As arquitecturas Intel Itanium e x64 podem aceder de uma forma nativa a mais de 4GB de memória física. Assim, o PAE apenas é usado em versões Windows 32 bits a executar em sistemas baseados na arquitectura x86.
De uma forma simplificada podemos dizer que com o PAE activo o tamanho das PTEs (page table entries) e PDEs (page directory entries) aumenta de 32 para 64 bits. Os bits adicionais permitem ao sistema operativo poder referenciar memória física para lá dos 4GB.
Nas versões Windows 32-bits executadas em sistemas baseados na arquitectura x64, o PAE também activa algumas funções avançadas de sistema e processamento, tais como:
- hardware-enabled Data Execution Prevention (DEP)
- non-uniform memory access (NUMA)
- adicionar memoria a um sistema em execução (hot-add memory)
O PAE não altera o tamanho do espaço virtual disponível para os processos; dessa forma, cada processo 32-bits continua limitado aos 4GB de espaço de endereçamento virtual.
Suporte para o PAE
O PAE é suportado apenas nas seguintes versões 32-bits Windows a executar em sistemas baseados na arquitectura x86:
- Windows 7 (apenas 32 bits)
- Windows Server 2008 (apenas 32 bits)
- Windows Vista (apenas 32 bits)
- Windows Server 2003 (apenas 32 bits)
- Windows XP (apenas 32 bits)
- Windows 2000 Datacenter Server
- Windows 2000 Advanced Server
Activar o PAE
O Windows activa automaticamente o PAE se detectar o DEP (Data Execution Prevention) activado numa máquina que suporte hardware-enabled DEP, ou se a máquina estiver configurada para dispositivos hot-add memory para endereçamentos para lá dos 4GB de memória. De outra forma o PAE terá de ser explicitamente activado.
Para explicitamente activar o PAE, pode-se usar o seguinte comando bcdedit e especificar a opção de boot pae:
bcdedit /set [{ID}] pae ForceEnable
Se o DEP estiver activo não se pode desactivar o PAE; usar o seguinte comando para desactivar o DEP e o PAE:
bcdedit /set [{ID}] nx AlwaysOff
bcdedit /set [{ID}] pae ForceDisable
Windows Server 2003 e Windows XP/2000:
- Para activar o PAE, usar o switch /PAE no ficheiro Boot.ini
- Para desactivar o PAE, usar o switch /NOPAE
- Para desactivar o DEP, usar o switch /EXECUTE
PAE versus outras opções de Large Memory Support
PAE, 4-gigabyte tuning (4GT) e Address Windowing Extensions (AWE) servem diferentes propósitos e podem ser usados independente uns dos outos:
- PAE - permite que o sistema operativo aceda a mais de 4 GB de memoria física.
- 4GT – aumenta o espaço de endereçamento virtual disponível para um processo entre 2 a 3 GB.
- AWE – conjunto de APIs que permitem a um processo alocar memoria física (nonpaged) e de uma forma dinâmica mapear estas porções de memoria em endereços virtuais do processo.
Quando não temos em uso o 4GT nem o AWE, o espaço de endereçamento virtual disponível para um processo 32 bits continua limitado a 2GB. No entanto, nesta situação um sistema que tenha activo o PAE pode aceder a mais que 4GB de memoria física para executar múltiplos processos simultaneamente ou fazer cache de informação em memória.
O 4GT pode ser usado com ou sem o PAE; no entanto, algumas versões do Windows limitam o máximo de memória física suportada quando o 4GT está em uso. Nesses sistemas, fazer boot com o 4GT activo indica ao sistema operativo para ignorar toda a memória física que esteja para lá do limite.
O AWE não necessita do PAE ou do 4GT mas é muitas vezes usado em simultâneo com o PAE afim de permitir que processos 32 bits possam alocar mais de 4GB de memória física.
AL