Je suis en train de passer à côté de quelque chose en ce qui concerne la nécessité d'utiliser highmem pour gérer plus de 1 Go de RAM. Est-ce que quelqu'un pourrait me pointer où je me trompe? Merci!
Ce que je sais:
-
1 Go de la mémoire virtuelle d'un processus (région de haute mémoire) est réservé aux opérations du noyau. L'espace utilisateur peut utiliser les 3 Go restants. C'est ce qu'on appelle un split 3/1.
-
Les fonctionnalités de mémoire virtuelle de la VM cartographient les pages de mémoire virtuelle (continues) sur les pages physiques (RAM).
ce que je ne sais pas:
-
Quelles opérations utilisent la mémoire virtuelle du noyau? Je suppose que des choses comme kmalloc(...) dans l'espace du noyau utiliseraient la mémoire virtuelle du noyau.
-
Je penserais que 4 Go de RAM pourraient être utilisés selon ce schéma. Je ne comprends pas pourquoi l'espace virtuel du noyau de 1 Go est le facteur limitant pour adresser l'espace physique. C'est là que mon compréhension échoue. Veuillez conseiller.
Je suis en train de lire ceci (http://kerneltrap.org/node/2450), qui est super. Mais cela ne répond pas tout à fait à ma question de manière satisfaisante.