Présentation
Auteur(s)
-
Bertrand DUPOUY : Enseignant chercheur, ingénieur d’études au département informatique et réseaux,École nationale supérieure des télécommunications (ENST) , Paris
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
Rappelons les différentes phases de la chaîne de développement d’un programme :
-
écriture, à l’aide d’un éditeur, d’un ou plusieurs fichiers sources qui sont rangés sur disque par cet éditeur ;
-
appel à l’assembleur, ou au compilateur, qui va traduire la représentation symbolique des instructions en représentation binaire et associer des adresses aux noms de variables. Le fichier dépositaire de ces informations s’appelle fichier objet, il contient des modules objets ;
-
utilisation de l’éditeur de liens (« linker ») qui prend en entrée un ou plusieurs modules objets pour créer un fichier binaire exécutable. Ce fichier exécutable, comme les fichiers sources et les fichiers objets est automatiquement rangé sur le disque.
Dans le cas des fichiers exécutables et objets, on parle de fichiers binaires pour insister sur le fait qu’ils contiennent des instructions et des données représentées suivant un codage compréhensible par le processeur de la machine. Les fichiers sources, par contre, sont lisibles par l’utilisateur, mais incompréhensibles pour le processeur : ce sont des suites de caractères codés ASCII.
Les fichiers objets peuvent être regroupés dans des fichiers appelés bibliothèques (« libraries »). Quand ces bibliothèques contiennent des objets d’intérêt général, comme les fonctions mathématiques ou les fonctions graphiques, on parle de bibliothèque « système ».
La figure 1 illustre cette construction d’un fichier exécutable à partir de plusieurs fichiers sources.
Pour exécuter un fichier exécutable, on le charge en mémoire. Cela est généralement fait en saisissant au clavier le nom de ce fichier exécutable. Il est alors chargé depuis le disque vers la mémoire par le module du système d’exploitation appelé « loader » ou chargeur.
Le tableau 1 donne les commandes de compilation et d’édition de liens sous Linux en utilisant .
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
3. Exécution et mise au point
3.1 Rôle du chargeur (loader )
Le chargement peut se faire à une adresse fixe, méthode obsolète, ou à une adresse qui dépend du contexte associé au processus dans lequel est lancé le programme. C’est le loader qui va prendre les différentes sections du fichier exécutable et les séparer pour les charger à des adresses différentes. Il va éventuellement mettre à zéro la région correspondant à la section bss. Il crée et initialise la pile. C’est lui qui met à jour les variables d’environnement et qui passe les arguments, si l’utilisateur en a mis sur la ligne de commande. Enfin, il démarre le programme.
Considérons le cas du boot : au démarrage, le processeur va exécuter une suite d’instructions rangée dans une mémoire du type ROM dont la taille varie de 512 Ko à quelques mégaoctets. Cette suite d’instructions est connue sous le nom de boot ou bootstrap, ou encore amorce du système. Le boot va initialiser le processeur puis chercher le système sur le disque et le charger en mémoire. Le système lit un fichier de configuration qui lui permet d’initialiser le matériel et de lancer les outils logiciels.
Pourquoi ne pas mettre le système lui-même dans la ROM ? Parce qu’il est trop volumineux ! Les systèmes embarqués, qui pilotent des machines ne disposant pas de disque, doivent être configurés pour résider en ROM, c’est la principale raison pour laquelle ils sont réduits.
HAUT DE PAGE3.2 Processus
Dans un système d’exploitation multitâche, l’entité de base, l’objet auquel le système va attribuer le processeur, s’appelle le processus (process ), c’est lui qui exécutera le programme, il en sera le cadre d’allocation de ressources.
Pour préciser la notion de processus, nous allons en donner quelques définitions :
-
un processus est l’instance d’exécution d’un programme dans un certain contexte pour un ensemble particulier de données. Un programme est une suite d’instructions (un objet statique) ;
-
un processus est décrit par l'ensemble des tables qui lui sont allouées dans l’espace mémoire réservé au système d’exploitation...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Exécution et mise au point
BIBLIOGRAPHIE
-
(1) - AHO (A), SETHI (R), ULLMAN (J) - Compilateurs. Principes, techniques et outils. - InterÉditions, Paris (1991).
-
(2) - BLANCHET (G.), DUPOUY (B.) - Architecture des ordinateurs. - Masson, Paris (1992).
-
(3) - LEVINE (J.R.) - Linkers and loaders. - Morgan Kaufmann, San Francisco (2000).
-
(4) - TANNENBAUM (A.) - Architecture de l’ordinateur. - InterÉditions, Paris (1991).
-
(5) - Computer research group, UC Berkeley - 4.4 BSD User’s reference manual. - O’Reilly (1994).
ANNEXES
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive