Qu'est-ce que Code indépendant de la position ?

Code machine qui fonctionne sans modification quelle que soit l'adresse de chargement en mémoire. Aussi appelé PIC. Il utilise des références relatives au PC et la GOT ; employé pour les bibliothèques partagées et les PIE.

Nom japonais: 位置独立コード

« Code indépendant de la position » apparaît dans 5 questions d'entraînement réparties sur 2 thèmes, dont Éditeurs de liens, chargeurs et exécutables, ISA et assembleur.

Domaine: Éditeurs de liens, chargeurs et exécutables

S'entraîner : questions sur Code indépendant de la position

Quelle description du code indépendant de la position (PIC) est correcte ?

  1. ADu langage machine fonctionnant de la même manière sur tous les CPU
  2. BDu langage machine qui déplace continuellement son propre emplacement pendant l'exécution
  3. CDu langage machine conçu pour fonctionner correctement quelle que soit l'adresse mémoire où il est chargé, sans modification du code
Afficher la réponse et l'explication

Réponse : C. Du langage machine conçu pour fonctionner correctement quelle que soit l'adresse mémoire où il est chargé, sans modification du code

Une bibliothèque partagée peut être chargée à une adresse différente dans chaque processus. Le code indépendant de la position référence fonctions et données non par des adresses fixes, mais par leur distance au PC ou via une table regroupant les adresses (GOT). Ainsi, même si l'adresse de chargement change, les pages de code n'ont pas à être modifiées, et une seule copie en mémoire physique peut être partagée par de nombreux processus.

« Code indépendant de la position » dans les explications

Questions mentionnant « Code indépendant de la position » (5)

  1. Quelle description du code indépendant de la position (PIC) est correcte ?
  2. Quel est l'avantage d'utiliser l'adressage relatif au PC pour les branchements et sauts ?
  3. Quel est le fonctionnement correct de l'instruction RISC-V auipc (add upper immediate to PC) ?
  4. Quel est le rôle de la GOT (table globale des déplacements) utilisée dans les bibliothèques partagées ?
  5. Quelle est la principale raison de produire un exécutable sous forme de PIE (exécutable indépendant de la position) ?

Termes associés

GOT (table globale des décalages) Bibliothèque partagée Via Adressage relatif au PC Prédiction de branchement Éditeur de liens dynamique PIE (exécutable indépendant de la position) ASLR Bibliothèque statique Chargeur (loader)

Retour au glossaire