Divisão de endereço virtual do Linux 3/1
Eu estou faltando alguma coisa quando se trata de entender a necessidade de highmem para lidar com mais de 1GB de RAM. Alguém poderia apontar onde eu errei? Obrigado!
O que eu sei:
1 GB de memória virtual de um processo (região de alta memória) é reservada para operações do kernel. O espaço do usuário pode usar os 3 GB restantes. Esta é a divisão de 3/1.
Os recursos de memória virtual da VM mapeiam as páginas de memória virtual (contínua) para páginas físicas (RAM).
O que eu não sei
Quais operações usam a memória virtual do kernel? Eu suponho que coisas como kmalloc (...) no espaço do kernel usem memória virtual do kernel.
Eu acho que 4GB de RAM podem ser usados sob este esquema. Eu não entendo porque o espaço virtual do kernel de 1 GB é o fator limitante ao endereçar o espaço físico. É aqui que meu entendimento se rompe. Por favor informar.
Eu tenho lido issohttp://kerneltrap.org/node/2450), o que é ótimo. Mas isso não resolve minha questão do meu agrado.