Vous êtes sur la page 1sur 3

INFO208 – Systèmes d’Exploitations : Processus : Mise en œuvre et exclusion mutuelle

DOMGA KOMGUEM Rodrigue – cours.domga@gmail.com

2/29

Exclusion mutuelle

● Pour qu’un processus s’exécute : ✔ Ressources : procédures et données, mémoire, processeur,


périphériques, fichiers ✔ Une ressource locale est utilisée par un seul processus : fichier temporaire,
variable de programme ✔ Une ressource commune peut être sollicitée par plusieurs processus :
disque, imprimante, fichier en lecture

3/29

Exclusion mutuelle

● Le SE doit contrôller toutes ces ressources dans une TABLE ● A chaque ressource est associée une
FILE D'ATTENTE des processus ● Processus plus prioritaire : ressource attribuer par RÉQUISITION au
processus prioritaire

4/29

Le problème de l’Exclusion mutuelle

● On appelle processus indépendants des processus ne faisant appel qu'à des ressources locales ●
On appelle processus parallèles pour une ressource des processus pouvant utiliser simultanément
cette ressource ● Lorsque la ressource est critique , on parle d'exclusion mutuelle

5/29

Exclusion mutuelle : Définition

● On appelle section critique la partie d'un programme où la ressource est seulement accessible par
le processus en cours. ● Il faut s'assurer que deux processus n'entrent jamais en même temps en
section critique sur une même ressource : Exclusion mutuelle

6/29

Les quatre conditions suivantes sont formalisées 1.Deux processus différents ne peuvent être
simultanément dans la même section critique 2.Aucune hypothèse n'est faite sur les vitesses relative
des processus, ni sur le nombre de processeurs 3.Aucun processus suspendu en dehors d'une section
critique ne peut bloquer les autres 4.Aucun processus ne doit attendre trop longtemps avant d'entrer
en section critique.

7/29

Exemple de section critique


● La mise à jour d'un fichier. ● La section critique comprend : ✔ lecture du compte dans le fichier, ✔
modification du compte, ✔ réécriture du compte dans le fichier.

8/29

Objectif

● On appelle PRIVATION la situation où quelques processus progressent normalement en bloquant


indéfiniment d'autres processus ● Un programme multitâche est JUSTE s'il répond aux critères de
VIABILITÉ comme la non privation ou le non inter-blocage ● Objectif du jour : examiner quelques
solutions au problème de l'exclusion mutuelle

9/29

Masquage des interruption

● Masquer les interruptions à l’entrée de la section critique et restaurer à la sortie ● Questions ✔


Sur un système mono processeur quels sont les inconvénients de cette méthode ? ✔ Comparer cette
méthode sur les systèmes monoprocesseur et multiprocesseur.

10/29

Methode des co-routines

● Nous supposons deux processus P1 et P2 ● crit1 et crit2 sont respectivement les sections critiques
de P1 et P2 ● reste1 et reste2 le reste de ces deux programmes

11/29

Methode des co-routines: Première solution

12/29

Methode des co-routines: Première solution

13/29

Methode des co-routines: Première solution

14/29

Methode des co-routines: Première solution ● Avantages : ✔ L'exclusion mutuelle est satisfaite. ✔
L'interblocage est impossible ✔ La privation est impossible ● Inconvénients : ✔ P1 et P2 sont
contraints de fonctionner avec la même fréquence d'entrée en section critique ✔ Si l'exécution de
P2 s'arrête, celle de P1 s'arrête aussi

15/29

Methode des co-routines: Deuxième solution ● Chaque processus dispose d'une clé d'entrée en
section critique, c1 pour P1 et c2 pour P2 ● P1 n'entre en section critique que si la clé c2 vaut 1


16/29

Methode des co-routines: Deuxième solution ● Chaque processus dispose d'une clé d'entrée en
section critique, c1 pour P1 et c2 pour P2 ● P1 n'entre en section critique que si la clé c2 vaut 1

17/29

Methode des co-routines: Deuxième solution

18/29

Methode des co-routines: Deuxième solution

19/29

Methode des co-routines: Deuxième solution ● Avantage : on rend moins dépendants les deux
processus en attribuant une clé de section critique à chacun ● Inconvénients : l'exclusion mutuelle ne
sera pas satisfaite. Démontrer ● Si l'instruction ci = 0 était placée avant la boucle d'attente,
l'exclusion mutuelle serait satisfaite, mais on aurait cette fois interblocage

Vous aimerez peut-être aussi