Ambos os kernels dividem o espaço de endereçamento virtual em uma parte do usuário e uma parte do kernel. A parte do kernel é compartilhada entre todos os processos no sistema e, portanto, o kernel é limitado a essa quantidade de memória diretamente endereçável. Cada processo do usuário no sistema possui sua própria parte do usuário do espaço de endereço. Classicamente esta divisão foi feita no meio, dando a cada metade 2gb. O Windows pode ser direcionado para mover a divisão para 3gb para usuário e 1gb para kernel com o parâmetro / 3gb boot.ini. O kernel do Linux é bastante configurável em tempo de compilação e, pela última vez que verifiquei, os kernels do Ubuntu constroem com a divisão 3: 1.
O PAE permite que 64 GB de RAM física sejam endereçados, mas qualquer tabela de páginas fornecida ainda é limitada a 4 GB. Como há apenas uma parte do kernel desse espaço de endereço compartilhado entre todos os processos no sistema, ele é limitado a 1 ou 2 GB de memória RAM diretamente endereçável, não importa o quê. Memória física adicional pode ser usada, mas deve ser mapeada apenas parcialmente no espaço de endereço virtual a qualquer momento, e os mapeamentos são alterados quando necessário. Como cada processo tem um espaço de endereço de usuário separado, você pode ter, por exemplo, 5 processos diferentes, cada um com 2 gb de memória própria, que mapeia para diferentes partes de 16 gb de memória física instalada e o kernel usando outros 2 gb. / p>
Note que o cache do sistema de arquivos não precisa manter as páginas mapeadas o tempo todo, então ele pode usar muito mais do que o físico, e o kernel automaticamente mapeia pedaços quando necessário, então desmata para mapear outras páginas . Esse truque permite ao kernel usar muitos gb de memória para o cache, e algumas centenas de mb para outros usos, mesmo quando o kernel tem apenas 1gb de espaço de endereçamento virtual para brincar.
Vale notar também que em versões recentes do Windows, a Microsoft instituiu várias limitações de licenciamento de produtos artificiais. O Windows 7 Pro eu estou preso no meu PC no trabalho se recusa a usar endereços de memória física > 4gb, mesmo se eu ativar o PAE, o que resulta em apenas ser capaz de usar 3,4 dos 4,0 GB de RAM instalados, já que um pedaço do RAM é realocado na marca de 4GB para deixar espaço para coisas como o vídeo ser localizado sob 4 gb.