Dans LKD 3ème édition, chapitre 12 sous Zones, Robert Love dit:
En particulier, Linux doit faire face à deux insuffisances matérielles par rapport à l'adressage memory:
Certains périphériques matériels peuvent effectuer un access direct à la memory (DMA) uniquement à certaines adresses memory.
Certaines architectures peuvent physiquement adresser de plus grandes quantités de memory qu'elles ne peuvent l'adresser virtuellement. Par conséquent, une partie de la memory n'est pas mappée de manière permanente dans l'espace d'adressage du kernel.
Mes questions:
Mais je devine que seule la memory physique est mappée dans KAS. Faites-moi savoir ce qu'il entend par le point # 2 ci-dessus et quelle (s) hypothèse (s) erronée (s) je fais ici.
Extension d'adresse physique (PAE) sonne exactement comme ce qu'il se réfère.
Un processeur 32 bits ne peut mapper ~ 4 Go de memory, même si le système a plus. Mais avec PAE, vous pouvez utiliser> 4 Go, mais seulement 4 Go sont mappés à la fois (un seul process ne sera jamais capable d'utiliser> 4 Go).
Donc, fondamentalement, lorsque le kernel change le process en cours d'exécution, il remet en correspondance la memory virtuelle avec la memory physique que ce process utilise actuellement.