Du but de la pagination !?!
D'aucun se diront pourquoi utilise t-on la pagination ? Pourquoi compliquer
en utlisation la pagination alors que la segmentation permet déjà d'avoir un
espace d'adressage de 4Go sur x86 ?
Et bien l'une des réponses est de permettre de closonner de manière physique
les processus que votre OS exécute. En effet, en changeant le répertoire de page d'un
processessus, votre OS cloisonne chaque espace d'adressage. Allons un peu
plus loin. Une page physique fait 4Ko sur x86. L'espace d'adressage d'un
processus est composé d'un ensemble de pages. Cet ensemble de pages est
organisé en une table. Cette table a 3 niveaux (PGD(Page Global
Directory), PMD(Page Middle Directory), PTE(Ptable Table
Entry)). Donc l'OS (que vous écrivez) en créant de tables de page dont
l'espace d'adressage est unique (donc aucune interaction), fait en sorte que
chaque processus a un espace d'adressage physique distinct (Sauf dans le cas
de mémoire partagée (SHM)).
La translation d'adresse est réalisée via la MMU qui fait parti intégrante
de nos jours au processeur. La MMU via la table de page permet d'accéder
rapidement à une adresse virtuelle (segmentée/paginée). Afin d'accélérer
cette translation, une TLB a été ajoutée au processeur afin de garder les
translation récente.
bref tout cela pour introduire un pointeur vers une documemntation très
intéressante :
=>http://my.execpc.com/~geezer/osd/mem/index.htm
Et donc : http://my.execpc.com/~geezer/osd/ qui concerne différent
aspect d'un système d'exploitation.
Concernant les système d'exploitation, je ne saurais que trop vous
recommander la lecture de ce site web : http://sos.enix.org
Bref, je vous laisse exciter vos neurones ...
Sinon week-end tranquille et en même pas si tranquille que cela. Pourquoi ? Voir paragraphe suivant.
C'était l'anniversaire de Laetitia samedi dernier (03/03). Ma petite femme prenait 23 ans ce jour-ci. Pleins de cadeaux, fête entre amis/famille. Bref que de la joie :-)
-----