next up previous contents
suivant: La LibB et les monter: Multiprocess et gestion de précédent: Création d'un processus en   Table des matières

L'allocation de pages d'un processus

L'allocation de pages pour un processus est très semblable à l'allocation de pages pour le kernel. Cependant, il existe une difference de taille: le processus doit avoir son propre espace d'indirection des tables de pages dans l'espace d'adressage du kernel.

Il est compliqué de maintenir de manière simultanée un espace pour chaque processus. En effet, il faut alors maintenir une table contenant l'emplacement de ces espaces. De plus, chacun de ces espace fait environ 4 méga-octets, qu'il faudrait maintenir dans l'espace d'adressage kernel.

Pour éviter ces probèmes, chaque processus possède sa propre table d'indirection. A chaque fois que le kernel veut allouer une page pour ce processus, il mappe la page d'indirection à l'adresse 0x50000000. Ainsi, il peut atteindre les tables des pages comme il le faisait pour ses propres pages.



2003-03-30