# Corrigé des exercices — Gestion des processus
---
## 1. QCM
| Question | Réponse | Explication |
|----------|---------|-------------|
| 1 | **a.** | Le terminal (interpréteur de commandes) permet d'exécuter des commandes système. |
| 2 | **a.** | La commande `ps` (process status) affiche les processus sous Linux. |
| 3 | **c.** | Un programme peut être exécuté par plusieurs processus simultanément (ex : ouvrir plusieurs fenêtres du même navigateur). |
| 4 | **c.** | L'ordonnanceur choisit le processus à exécuter parmi ceux en état "prêt". |
| 5 | **c.** | L'interblocage (deadlock) survient quand des processus s'attendent mutuellement pour des ressources. |
---
## 2. Questions
### Question 1
**Expliquer comment il se fait que l'utilisateur d'un ordinateur a l'impression que les programmes sont exécutés en même temps.**
L'utilisateur a l'impression que les programmes s'exécutent simultanément grâce à deux mécanismes :
1. **Le découpage en processus** : Chaque programme est divisé en plusieurs processus (unités d'exécution).
2. **L'ordonnancement** : Le système d'exploitation utilise un ordonnanceur qui :
- Gère une file d'attente des processus prêts à s'exécuter
- Alloue le processeur à chaque processus pendant un court laps de temps (quantum)
- Effectue des changements de contexte très rapides entre les processus
3. **La rapidité du processeur** : Le processeur exécute des milliards d'instructions par seconde. Les changements de contexte sont si rapides (quelques millisecondes) que l'utilisateur ne perçoit pas les interruptions.
**Exemple** : Si le quantum est de 10 ms et qu'il y a 10 processus, chaque processus s'exécute 100 fois par seconde. L'œil humain ne peut pas percevoir ces alternances, d'où l'illusion de simultanéité.
---
### Question 2
**Quelles sont les différences entre les états prêt et élu ?**
| Critère | État Prêt | État Élu |
|---------|-----------|----------|
| **Définition** | Le processus attend son tour dans la file d'exécution | Le processus est en cours d'exécution sur le processeur |
| **Ressources** | Toutes les ressources nécessaires sont disponibles | Le processeur lui est alloué |
| **Position** | Dans la file d'attente de l'ordonnanceur | Sur le processeur (CPU) |
| **Nombre** | Plusieurs processus peuvent être prêts | Un seul processus élu par cœur de processeur |
| **Transition** | Devient élu quand l'ordonnanceur le choisit | Redevient prêt quand son quantum expire |
**Schéma des transitions** :
```
Ordonnanceur choisit
[PRÊT] ─────────────────────────────► [ÉLU]
▲ │
│ Quantum expiré ou │
└─────────── interruption ────────────┘
```
---
## Résumé des états d'un processus
```
Création
│
▼
┌──────────┐
│ NOUVEAU │
└────┬─────┘
│ Admission
▼
Ressource ┌──────────┐ Ordonnancement
disponible ◄────│ PRÊT │────────────────────► ┌──────────┐
│ └──────────┘ │ ÉLU │
│ ▲ └────┬─────┘
│ │ Interruption │
│ │ (quantum expiré) │
│ ┌────┴─────┐ │
└───────────►│ BLOQUÉ │◄──────────────────────────┘
└──────────┘ Attente ressource
│
│ Terminaison
▼
┌──────────┐
│ TERMINÉ │
└──────────┘
```
---
Auteurs : Florian Mathieu, Enzo Frémeaux, Thimothée Decooster
Licence CC BY NC
Ce cours est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.