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 et 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 machine à l'aide d'un traducteur de langue. Un programme écrit en langage de haut niveau est un code source. Après la conversion, le code traduit est appelé le code objet. L'éditeur de liens et le chargeur sont deux logiciels utilisés pour l'exécution du programme. Cet article explique la différence entre Linker et Loader. L'éditeur de liens est le logiciel qui lie le code de l'objet à des fichiers supplémentaires tels que des fichiers d'en-tête et crée un fichier exécutable avec l'extension .exe. Le chargeur est le logiciel système qui charge le fichier exécutable généré par l'éditeur de liens dans la mémoire principale.. C'est le différence clé entre Linker et Loader.
1. Vue d'ensemble et différence clé
2. Qu'est-ce que Linker?
3. Qu'est-ce que Loader
4. Relation entre l'éditeur de liens et le chargeur
5. Comparaison côte à côte - Linker vs Loader sous forme tabulaire
6. Résumé
Un programme informatique est un ensemble d'instructions données à un ordinateur pour effectuer une tâche donnée. Un programme informatique peut être écrit en utilisant un langage de programmation. La plupart des langages de programmation sont des programmes de haut niveau. Ils sont facilement compréhensibles et lisibles par le programmeur. Ces langues suivent une syntaxe similaire à celle de l'anglais. Java, C et Python sont des exemples de langages de haut niveau. Un programme écrit à l'aide d'un langage de programmation évolué s'appelle code source, fichier source ou programme source. L'extension du code source dépend du langage avec lequel il a été développé. Si le code source est écrit en C ++, l'extension de 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 un format compréhensible par la machine à l’aide d’un traducteur de langue. Ce peut être un compilateur ou un interprète. Le code traduit est appelé code d'objet. Le code de l'objet est en langage machine. Il se compose de zéros et une fois. L'ordinateur peut comprendre directement le code de l'objet. Il a l'extension .obj. S'il existe un code source comme Test.c, il passe par le compilateur et le code converti devient Test.obj.
L'éditeur de liens est le logiciel qui lie le code de l'objet à des fichiers supplémentaires tels que des fichiers d'en-tête et crée un fichier exécutable avec l'extension .exe. Le programme a peut-être utilisé des fonctions intégrées. Les fonctionnalités de ces fonctions intégrées se trouvent dans les fichiers d’en-tête. Selon l'exemple expliqué ci-dessus, le code d'objet, Test.obj, est ajouté aux fichiers d'en-tête nécessaires à l'aide de l'éditeur de liens. Il crée un nouveau fichier appelé Test.exe. C'est un fichier exécutable. Par conséquent, il est exécutable par l'ordinateur.
Un programme qui doit être exécuté doit être placé dans la mémoire. L'éditeur de liens relie les fichiers de code d'objet et d'en-tête et génère le fichier exécutable. Le chargeur est le logiciel système qui charge le fichier exécutable généré par l'éditeur de liens dans la mémoire principale. Il alloue l’espace mémoire au module exécutable en mémoire principale. Par conséquent, un chargeur fait partie du système d'exploitation chargé du chargement des programmes et des bibliothèques..
Figure 01: Ordre dans lequel le code source est chargé dans la mémoire
Le chargement d'un programme comporte plusieurs étapes. Il consiste à lire en mémoire le contenu du fichier exécutable contenant l'instruction de programme et à effectuer les tâches de préparation nécessaires à l'exécution du 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 embarqués ne disposent généralement pas de chargeurs. Le code s'exécute directement par la ROM.
Linker vs Loader | |
L'éditeur de liens est le logiciel qui lie le code de l'objet à des fichiers supplémentaires tels que les fichiers d'en-tête et crée un fichier exécutable avec l'extension .exe. | Le chargeur est le logiciel système qui charge le fichier exécutable généré par l'éditeur de liens dans la mémoire principale.. |
Contribution | |
L'éditeur de liens prend la sortie du traducteur de langue, qui est le code de l'objet. | Le chargeur prend la sortie de l'éditeur de liens, qui est le fichier exécutable. |
La fonctionnalité | |
L'éditeur de liens lie le code de l'objet et les fichiers d'en-tête et génère le fichier exécutable. | Le chargeur charge le fichier exécutable obtenu de l'éditeur de liens dans la mémoire principale. |
Linker et Loader sont deux composants logiciels liés à l'exécution du programme. Cet article traite de la différence entre l'éditeur de liens et le chargeur. L'éditeur de liens est le logiciel qui lie le code de l'objet à des fichiers supplémentaires tels que des fichiers d'en-tête et crée un fichier exécutable avec l'extension .exe. Le chargeur est le logiciel système qui charge le fichier exécutable généré par l'éditeur de liens dans la mémoire principale. Telle est la différence entre Linker et Loader.
1. «Chargeur (informatique)», Wikipedia, Wikimedia Foundation, 28 février 2018. Disponible ici