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.