Sommaire

Processus et programme Processus

En première approche, on peut considérer qu’un processus correspond à une instance d’exécution d’un programme.

1. Programme exécutable Programme exécutable

Un programme exécutable est un fichier ordinaire (regular file), contenant des instructions en langage machine, une zone de données et éventuellement des informations permettant de le lier à des bibliothèques externes chargeables dynamiquement. Le tout est structuré selon un format de fichier spécifique, permettant au noyau de charger ces différents éléments pour l’exécution. Linux utilise le format de fichier ELF (Executable and Linking Format), commun à la plupart des systèmes de type Unix.

Avec les informations contenues dans le fichier, le noyau va pouvoir créer un processus en mémoire, en lui allouant diverses zones mémoire. Il charge la partie instructions exécutables dans une zone appelée « text segment », les données du fichier dans une partie appelée « data segment », initialise différentes structures de gestion du processus, puis prépare l’exécution de la première instruction du programme, son « point d’entrée ». Le programme ne commencera à s’exécuter que lorsque l’ordonnanceur donnera au processus l’accès à un processeur, ...