Changes between Version 8 and Version 9 of page_tables
- Timestamp:
- Jan 17, 2017, 12:41:44 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
page_tables
v8 v9 1 = Réplication des tables de pages et des listes de vseg =1 = Implémentation des tables de pages et des listes de vseg = 2 2 3 3 [[PageOutline]] … … 5 5 == __1) Descripteur de vseg__ == 6 6 7 Puisque ALMOS-MK n'utilise pas la MMU paginée des processeurs, les table des pages ne sont utilisées que pour définir le mapping des vsegs des processus utilisateur.8 7 Un descripteur de vseg contient les informations suivantes : 9 8 … … 22 21 La table des pages est utilisée par le noyau pour stocker le mapping de chaque page de chaque vseg d'un processus. cette table des pages fait partie des informations - partiellement - répliquées, et nous appelons PT(P,K) la table des pages du processus P dans le cluster K. 23 22 24 La liste des vsegs définis pour un processus est utilisée par le noyau en cas de défaut de page pour vérifier que l'adresse virtuelle non happée correspond à un segment défini, et pour déterminer le type du segment. Cette liste fait également partie des informations - partiellement - répliquées , et nous appelons VSL(P,K) la liste des vsegs du processus P dans le cluster K. 25 23 La liste des vsegs définis pour un processus est utilisée par le noyau en cas de défaut de page pour vérifier que l'adresse virtuelle non mappée correspond à un segment défini, et pour déterminer le type du segment. Cette liste fait également partie des informations - partiellement - répliquées , et nous appelons VSL(P,K) la liste des vsegs du processus P dans le cluster K. 26 24 27 25 … … 29 27 30 28 Pour un même processus P, le contenu des différentes tables de pages PT(P,K) évolue au cours du temps, et il évolue différemment dans les différents clusters actifs: 31 D'une part, le contenu des tables P évolue dynamiquement dans les clusters en fonction des défauts de pages causés par les threads de P s’exécutantchaque cluster.32 De plus le mapping des segments ''private'' ( CODE et STACKS) varie d’un cluster à un autre, puisqu'une même adresse virtuelle correspond à des adresses différentes suivant les clusters.29 D'une part, le contenu des tables de P évolue dynamiquement dans les clusters en fonction des défauts de pages causés par les threads de P s’exécutant dans chaque cluster. 30 De plus le mapping des segments ''private'' (types CODE et STACK) varie d’un cluster à un autre, puisqu'une même adresse virtuelle correspond à des adresses différentes suivant les clusters. 33 31 Pour ce qui concerne les vsegs ''public'', seul le cluster de référence contient l’état complet du mapping. 34 32