Leçon 10 : Ce qui se passe quand tu exécutes un programme — processus, mémoire et système d'exploitation
On est arrivés à la dernière leçon, le moment où tout se connecte. On a construit un exécutable — mais que se passe-t-il exactement quand tu cliques pour l'exécuter ? Le chargeur du système d'exploitation crée un processus : une instance en cours d'exécution du programme, avec son propre espace mémo
Quand tu exécutes un programme, le système d'exploitation crée un « processus » pour lui — une copie vivante en mémoire avec son propre espace. Il a une pile pour les appels de fonctions et un tas pour l'espace demandé à la volée. Quand le programme veut parler au matériel, il demande au système d'exploitation de le faire.
- Processus
- Une instance en cours d'exécution d'un programme, avec son propre espace d'adressage privé et son état, gérée par le système d'exploitation.
- Chargeur (loader)
- Une partie du système d'exploitation qui copie un exécutable en mémoire et en crée un processus.
- Espace d'adressage
- La plage d'adresses mémoire qu'un processus voit comme la sienne ; chaque processus obtient une plage privée grâce à la mémoire virtuelle.
- Segment de code et de données
- Le segment de code retient les instructions (généralement en lecture seule) ; le segment de données retient les variables globales et les constantes.
- Pile (stack)
- Une zone mémoire de cadres d'appel de fonctions — variables locales et adresses de retour ; grandit vers le bas.
- Tas (heap)
- Une zone mémoire pour l'allocation dynamique à l'exécution (malloc/new) ; grandit vers le haut selon les besoins.
- Cadre de pile
- L'enregistrement empilé sur la pile à chaque appel de fonction : ses variables locales et l'adresse de retour.
- Appel système
- Une requête qu'un programme fait au système d'exploitation pour effectuer une action nécessitant un accès au matériel, comme une sortie ou une entrée.
- Mémoire virtuelle
- Un mécanisme où chaque processus obtient un espace d'adressage privé, comme si toute la mémoire lui appartenait, mappé sur la mémoire physique.
- Changement de contexte
- Sauvegarder l'état du processus en cours d'exécution et charger celui d'un autre, pour qu'un seul CPU puisse servir plusieurs processus.