next up previous contents
suivant: Les Page Tables du monter: Mise en place de précédent: Mise en place de   Table des matières

L'identity mapping ou référencement à l'identique

Après activation de la pagination et donc de la mémoire virtuelle, plus aucune adresse physique n'est utilisable. Or le noyau aura forcément besoin d'accéder à sa propre Page Directory, ainsi qu'à certaines Page Tables, qui ne peuvent pas avoir d'adresse virtuelle. En effet, qui pourrait donc bien mapper la Page Directory du noyau ? Personne, bien évidemment.

Pour résoudre ce problème, on se sert du concept d'identity mapping, ou référencement à l'dentique. Le principe est le suivant : les adresses virtuelles et leur adresse physique correspondante sont identiques. Par exemple, l'adresse virtuelle 0x3000 sera transcrit en adressage physique en 0x3000.

Ceci implique donc (en accord avec le mécanisme de traduction d'adresse virtuelle en adresse physique) que la première entrée de la première page table référence la première page physique, la deuxième entrée la deuxième page physique, ... A noter que nous avons limité l'identity mapping aux 1024 premières pages, soit jusqu'à l'adresse 0x400000, afin de n'utiliser qu'une seule Page Table. En effet nous n'avons pas besoin de référencer à l'identique l'ensemble de la mémoire, comme cela a été mis en place sous Linux (alors que cela pose des problèmes de sécurité et masque les erreurs de référencement).

Ainsi le noyau pourra toujours accéder à ses structures non référencées, en les plaçant dans l'identity mapping.


next up previous contents
suivant: Les Page Tables du monter: Mise en place de précédent: Mise en place de   Table des matières
nicolas 2006-07-30