Éditeurs de liens, chargeurs et exécutables
Quel est le rôle de la GOT (table globale des déplacements) utilisée dans les bibliothèques partagées ?
- AC'est un index des noms de fonctions de la bibliothèque classés par ordre alphabétique
- BC'est une table où sont placées temporairement les données qui ne tiennent pas dans le cache
- CC'est une table regroupant les adresses réelles des variables et fonctions externes, renseignée à l'exécution par l'éditeur de liens dynamique, et par laquelle le code accède à celles-ci
Afficher la réponse et l'explication
Réponse : C. C'est une table regroupant les adresses réelles des variables et fonctions externes, renseignée à l'exécution par l'éditeur de liens dynamique, et par laquelle le code accède à celles-ci
Le code indépendant de la position ne peut pas inscrire directement dans une instruction l'adresse d'une variable située dans une autre bibliothèque. On prépare donc dans chaque module une table d'adresses (GOT) ; le code lit l'entrée de la GOT par sa distance au PC et utilise l'adresse qu'elle contient. L'éditeur de liens dynamique inscrit les adresses réelles dans la GOT au chargement. Seule la GOT, donnée inscriptible, est modifiée, si bien que les pages de code restent partagées.
Continuer : 9 autres questions sur Éditeurs de liens, chargeurs et exécutables