Architectures materielles
🧩 Chapitre : Gestion des processus et des ressources par un système d’exploitation
Un système d’exploitation (SE) est un programme fondamental qui permet
de gérer le matériel et d’exécuter les applications.
Il assure notamment la gestion des processus et des ressources
(processeur, mémoire, fichiers, périphériques).
1. Notion de processus
- Un processus est un programme en cours d’exécution.
- Il possède :
- un identifiant (PID),
- un espace mémoire propre,
- un état (actif, en attente, terminé).
- Plusieurs processus peuvent s’exécuter simultanément sur une même machine.
2. Création d’un processus
- Un processus est créé lorsqu’un utilisateur lance un programme.
- Le système d’exploitation :
- attribue un identifiant (PID),
- réserve un espace mémoire,
- initialise les ressources nécessaires,
- place le processus dans la file des processus prêts.
- Sous les systèmes de type Unix, un processus peut créer un processus fils.
3. États d’un processus
- Prêt : en attente d’accès au processeur.
- En cours d’exécution : utilise le processeur.
- En attente : attend une ressource (entrée/sortie, fichier…).
- Terminé : exécution achevée.
4. Ordonnancement des processus
- Le processeur ne peut exécuter qu’un seul processus à la fois (par cœur).
- Le système d’exploitation utilise un ordonnanceur.
- L’ordonnanceur :
- choisit le prochain processus à exécuter,
- répartit le temps processeur (quantum),
- assure une impression de simultanéité (multiprogrammation).
- Algorithmes possibles :
- tourniquet (round-robin),
- priorités,
- plus court d’abord.
5. Gestion des ressources
- Le système d’exploitation gère :
- le processeur,
- la mémoire vive,
- les fichiers,
- les périphériques (imprimante, disque, réseau).
- Chaque ressource peut être partagée ou exclusive.
- Des mécanismes de synchronisation évitent les conflits d’accès.
6. Risque d’interblocage (deadlock)
- Un interblocage se produit lorsque plusieurs processus attendent indéfiniment des ressources détenues par d’autres.
- Situation typique :
- Processus A détient la ressource 1 et attend la ressource 2.
- Processus B détient la ressource 2 et attend la ressource 1.
- Aucun des deux ne peut avancer : le système est bloqué.
7. Présentation débranchée de l’interblocage
- Deux élèves ont chacun un stylo.
- Chacun a besoin d’une règle pour terminer son travail.
- Il n’y a qu’une seule règle disponible.
- Si chacun attend que l’autre donne la règle, personne ne peut avancer.
- Cette situation illustre un interblocage.
8. Observer les processus sur une machine
- Il est possible d’observer les processus actifs ou en attente avec des outils standards :
- Sous Linux / macOS :
- commande ps,
- commande top ou htop.
- Sous Windows :
- Ces outils affichent :
- le PID,
- l’utilisation du processeur,
- la mémoire utilisée,
- l’état du processus.
9. Synthèse
- Un processus est un programme en cours d’exécution.
- Le système d’exploitation crée, planifie et supervise les processus.
- L’ordonnancement permet le partage du processeur.
- Une mauvaise gestion des ressources peut provoquer un interblocage.
- Des outils permettent d’observer les processus actifs sur une machine.
🔗 Dans cet exercice, on souhaite élaborer un programme système permettant de gérer l'ordre d'exécution des processus sur le processeur.