Processus et threads
Les processus et les threads sont deux abstractions centrales des systèmes d’exploitation pour exécuter plusieurs tâches.
Processus et threads
Processus
Processus
- Programme en exécution.
- Espace mémoire propre.
- Ressources système associées.
Thread
- Unité d’exécution interne.
- Mémoire partagée avec le processus.
- Plus léger à créer et gérer.
Image mentale
Le processus est la maison, le thread est la personne qui y travaille.
États d’exécution
Cycle de vie
À retenir
- Prêt : attend le processeur.
- En exécution : occupe le processeur.
Ordonnancement et concurrence
Chaîne d’exécution
- 1
L’ordonnanceur choisit la tâche suivante.
- 2
Le processeur exécute un quantum ou une tranche.
Concurrence vs parallélisme
Concurrence
- Plusieurs tâches progressent par alternance.
- Sur un ou plusieurs cœurs.
- Vue d’ensemble entrelacée.
Parallélisme
- Plusieurs tâches s’exécutent simultanément.
- Nécessite plusieurs cœurs.
- Exécution réellement en même temps.
Synchronisation et interblocage
Pourquoi synchroniser
| Besoin | Rôle | Risque évité |
|---|---|---|
| Accès partagé | Protéger les données | Condition de course |
| Exclusion mutuelle | Laisser un seul accès | Corruption de l’état |
| Attente coordonnée | Ordonner les tâches | Blocage incohérent |
Blocage mutuel
Deux tâches veulent deux ressources dans un ordre différent. Hypothèse : chaque tâche garde sa première ressource en attendant la seconde.
- Tâche A prend R1 puis attend R2.
- Tâche B prend R2 puis attend R1.
- Aucune ne peut avancer sans libérer sa ressource.
- Les deux restent bloquées mutuellement.
C’est un interblocage, car l’attente circulaire empêche toute reprise.
Mémo et entraînement
Mémo rapide
Prêt, exécution, bloqué : trois états, deux transitions clés, une attente possible.
Vocabulaire
- Ordonnanceur
- Composant qui choisit la tâche suivante.
- Changement de contexte
- Sauvegarde puis restauration d’un état d’exécution.
- Mutex
- Verrou d’exclusion mutuelle pour une ressource.
Révision express
- Quelle différence essentielle sépare un processus d’un thread ?
- Quel état décrit une attente de ressource ou d’E/S ?
Synthèse
- Un processus isole une exécution avec sa mémoire propre.
- Un thread partage les ressources du processus et reste plus léger.
- Les états clés sont prêt, en exécution et bloqué.
- L’ordonnancement partage le processeur entre plusieurs tâches.
