Différence entre l'éditeur de liens et le chargeur

Différence entre l'éditeur de liens et le chargeur

Différence clé - Linker vs Chargeur
 

Un programme informatique est utilisé pour donner des instructions à l'ordinateur. Il est écrit en utilisant un langage de programmation spécifique. Les langages de programmation tels que C, Java sont des langages de programmation de haut niveau et ils sont compréhensibles par les humains mais pas par l'ordinateur. Par conséquent, un programme de haut niveau est converti en langage de la machine à l'aide d'un traducteur de langue. Un programme écrit à l'aide d'une langue de haut niveau est un code source. Après la conversion, le code traduit est appelé le code d'objet. Le linker et le chargeur sont deux logiciels utilisés pour l'exécution du programme.  Cet article traite de la différence entre l'éditeur de liens et le chargeur. Linker est le logiciel qui relie le code d'objet avec des fichiers supplémentaires tels que des fichiers d'en-tête et crée un fichier exécutable avec .extension exe. Le chargeur est le logiciel système qui charge le fichier exécutable généré par le lieur à la mémoire principale. C'est le différence clé Entre l'éditeur de liens et le chargeur.

CONTENU

1. Aperçu et différence clé
2. Qu'est-ce que l'éditeur de liens
3. Qu'est-ce que le chargeur
4. Relation entre l'éditeur de liens et le chargeur
5. Comparaison côte à côte - Linker vs chargeur sous forme tabulaire
6. Résumé

Qu'est-ce que l'éditeur de liens?

Un programme informatique est un ensemble d'instructions données à un ordinateur pour effectuer une certaine tâche. Un programme informatique peut être écrit à l'aide d'un langage de programmation. La plupart des langages de programmation sont une programmation de haut niveau. Ils sont facilement compréhensibles et lisibles par le programmeur. Ces langues suivent une syntaxe similaire à la langue anglaise. Quelques exemples de langues de haut niveau sont Java, C et Python. Un programme écrit à l'aide d'un langage de programmation de haut niveau est connu sous le nom de code source, fichier source ou programme source. L'extension du code source dépend de la langue avec laquelle elle a été développée. Si le code source est écrit en C ++, alors l'extension du fichier est .cpp. Si le code source est écrit en Python, l'extension est .py.

Même le code source est compréhensible par le programmeur; Ce n'est pas compréhensible par l'ordinateur. Par conséquent, le code source doit être converti en format compréhensible de la machine à l'aide d'un traducteur de langue. Il peut s'agir d'un compilateur ou d'un interprète. Le code traduit est connu sous le nom de code d'objet. Le code d'objet est en langage machine. Il se compose de zéros et une fois. L'ordinateur peut comprendre directement le code d'objet. Il a l'extension .obj. S'il y a un code source comme test.C, il passe par le compilateur et le code converti devient test.obj.

Linker est le logiciel qui relie le code d'objet avec des fichiers supplémentaires tels que des fichiers d'en-tête et crée un fichier exécutable avec .extension exe. Le programme pourrait avoir utilisé des fonctions intégrées. Les fonctionnalités de ces fonctions intégrées sont dans les fichiers d'en-tête. Selon l'exemple expliqué ci-dessus, le code d'objet qui est testé.OBJ est ajouté avec les fichiers d'en-tête nécessaires à l'aide du linker. Il crée un nouveau fichier connu appelé test.exe. C'est un fichier exécutable. Par conséquent, il est exécutable par l'ordinateur.

Qu'est-ce que le chargeur?

Un programme qui doit s'exécuter doit être placé dans la mémoire. Le linker relie le code d'objet et les fichiers d'en-tête et la sortie du fichier exécutable. Le chargeur est le logiciel système qui charge le fichier exécutable généré par le lieur à la mémoire principale. Il attribue l'espace mémoire au module exécutable dans la mémoire principale. Par conséquent, un chargeur fait partie du système d'exploitation qui est responsable du chargement des programmes et des bibliothèques.

Figure 01: Ordre dans lequel le code source se charge à la mémoire

Le chargement d'un programme implique plusieurs étapes. Il s'agit de lire le contenu du fichier exécutable contenant l'instruction du programme dans la mémoire et également pour effectuer les tâches de préparation nécessaires pour exécuter le fichier exécutable. Une fois le chargement terminé, le système d'exploitation démarre le programme en passant le contrôle au code du programme chargé. Les systèmes informatiques spéciaux tels que les systèmes intégrés n'ont généralement pas de chargeurs. Le code s'exécute directement par la ROM.

Quelle est la relation entre Linker et le chargeur?

  • La sortie du linker va au chargeur.

Quelle est la différence entre l'éditeur de liens et le chargeur?

Linker vs chargeur

Linker est le logiciel qui relie le code d'objet avec des fichiers supplémentaires tels que des fichiers d'en-tête et crée un fichier exécutable avec .extension exe. Le chargeur est le logiciel système qui charge le fichier exécutable généré par le lieur à la mémoire principale.
 Saisir
Le linker prend la sortie du traducteur linguistique, qui est le code d'objet. Le chargeur prend la sortie du linker, qui est le fichier exécutable.
Fonctionnalité
Le linker relie le code d'objet et les fichiers d'en-tête et publie le fichier exécutable. Le chargeur charge le fichier exécutable obtenu du linker à la mémoire principale.

Résumé - Linker vs Chargeur

Linker et le chargeur sont deux composants logiciels liés à l'exécution du programme. Cet article a discuté de la différence entre le linker et le chargeur. Linker est le logiciel qui relie le code d'objet avec des fichiers supplémentaires tels que des fichiers d'en-tête et crée un fichier exécutable avec .extension exe. Le chargeur est le logiciel système qui charge le fichier exécutable généré par le lieur à la mémoire principale. C'est la différence entre l'éditeur de liens et le chargeur.

Référence:

1.'Loader (informatique)', Wikipedia, Wikimedia Foundation, 28 février. 2018. Disponible ici