Qu’est-ce qu’un chargeur ?
Un chargeur est un composant majeur d’un système d’exploitation qui veille à ce que tous les programmes et bibliothèques nécessaires soient chargés. Il s’agit d’un élément essentiel pendant la phase de démarrage d’un programme.
Il place les bibliothèques et les programmes dans la mémoire principale afin de les préparer à l’exécution. Le chargement implique la lecture du contenu du fichier exécutable qui contient les instructions du programme, puis l’exécution d’autres tâches préparatoires requises pour préparer l’exécution du procédé. Cett action prend quelques secondes ou quelques minutes en fonction de la taille du programme à exécuter.
Techopedia explique le chargeur
Le chargeur est un composant d’un système d’exploitation qui a pour tâche de préparer un programme ou une application en vue de son exécution par le système d’exploitation.
Pour ce faire, il lit le contenu du fichier exécutable et stocke ensuite ces instructions dans la mémoire vive, ainsi que tous les éléments de la bibliothèque qui doivent se trouver en mémoire pour que le programme puisse s’exécuter. C’est la raison pour laquelle un écran d’accueil apparaît juste avant le démarrage de la plupart des programmes, montrant souvent ce qui se passe en arrière-plan, c’est-à-dire ce que le chargeur est en train de charger dans la mémoire.
Lorsque tout cela est terminé, le programme est prêt à être exécuté. Pour les petits programmes, ce processus est presque instantané, mais pour les applications complexes et de grande taille qui nécessitent de grandes bibliothèques pour être exécutées, comme les jeux ou les logiciels de 3D et de CAO, cela peut prendre plus de temps.
La vitesse de chargement dépend également de la vitesse du CPU et de la RAM.
Le code et les bibliothèques ne sont pas tous chargés au démarrage du programme. C’est seulement le cas pour ceux qui sont nécessaires à son exécution. Les autres bibliothèques sont chargées au fur et à mesure de l’exécution du programme, ou seulement en cas de besoin. Cela est particulièrement le cas pour les applications telles que les jeux qui ne nécessitent que le chargement des ressources pour le niveau ou l’endroit où se trouve le joueur.
Bien que les chargeurs évoluent selon les différents systèmes d’exploitation en présentant des fonctions spécifiques au système d’exploitation en question, ils remplissent fondamentalement la même fonction.
Les responsabilités d’un chargeur sont les suivantes :
- Valider le programme en ce qui concerne les besoins en mémoire, les autorisations, etc.
- Copier les fichiers nécessaires, tels que l’image du programme ou les bibliothèques requises, du disque vers la mémoire.
- Copier les arguments de ligne de commande requis dans la pile
- Gérer la liaison du point de départ du programme et de toutes les bibliothèques nécessaires
- Initialiser les registres
- Accéder au point de départ du programme dans la mémoire