interblocage des processus

 

Rappel interblocage des processus 

Amira BELHEDI belhedi.amira@yahoo.fr 

ISTIC 2018 

Processus et ressources 

– Demande de la ressource : 

Processus et ressources 

– D’usage partagé : Est-ce que la ressource peut être utilisée par plusieurs processus en même temps → Les ressources partagées n’affectent pas les interblocages. – Avec un ou multiples exemplaires – Preémptible ou non preémptible : Est-ce qu’on a le droit de retirer une ressource quand elle est utilisée par un processus – Reutilisables ou disponibles Existent-elles après son utilisation ? 

Problème d’interblocage 

Processus P1 Processus P2 -Demande ressource R1 -demande ressource R2 -calcul 

4 -Demande ressource R2 -demande ressource R1 -calcul 

Problème d’interblocage 

situation d’interblocage : P1 attend P2 et P2 attend P1. Les 

deux processus vont attendre indéfiniment 

Problème d’interblocage 

Situation d’interblocage de deux processus 

Problème d’interblocage 

Comme tous les processus sont en attente, aucun ne pourra s’exécuter et donc libérer les ressources demandées par les autres. Ils attendront tous indéfiniment. 

Conditions nécessaires pour l’interblocage 

– L’exclusion mutuelle: à un instant précis, une ressource est 

allouée à un seul processus. – La détention et l’attente: les processus qui détiennent des ressources 

peuvent en demander d’autres. – Pas de préemption: les ressources allouées à un processus sont libérées 

uniquement par le processus. – L’attente circulaire: il existe une chaîne de deux ou plus processus de 

telle manière que chaque processus dans la chaîne requiert une ressource allouée au processus suivant dans la chaîne. 

Graphe d’allocation des ressources 

C’est un graphe modélisant l’état d’allocation des ressources pour les processus. Il est composé des : 

– Chaque rectangle contient autant de points qu’il y a d’exemplaires de la 

ressource représentée. 

détient ainsi que celles qu’il demande. 

Graphe d’allocation des ressources 

10 

Graphe d’allocation des ressources 

  1. A demande R 2. B demande S 3. C demande T 4. A demande S 5. B demande T 6. C demande R 

11 

Graphe d’allocation des ressources 

12 

Réduction du graphe d’allocation des ressources 

13 

Réduction du graphe d’allocation des ressources 

3 règles : 

14 

Réduction du graphe d’allocation des ressources 

15 

Réduction du graphe d’allocation des ressources 

16 

Réduction du graphe d’allocation des ressources 

17 

Réduction du graphe d’allocation des ressources22 

18 

Réduction du graphe 

La matrice d’allocation des ressources et attente pour l’état courant est : A=[0,0,0] 

19 

Allocation Attente 

Réduction du graphe 

  1. Donner le graphe d’allocation correspondant ?? 
  2. Simplifier ce graphe 

20 

Réduction du graphe 

21 

Réduction du graphe 

Appliquer règle 2 sur P1 → P1 possède seulement des flèches qui pointent vers lui → on les efface. 

22 

Réduction du graphe 

23 

Réduction du graphe 

Appliquer règle 3 sur R2 

C’est le graphe minimale indiquant une situation d’interblocage 

24 

Réduction du graphe 

Un graphe minimal contenant des transactions →interblocage 

Un graphe minimal sans transaction → pas d’interblocage 

25 

Détection des interblocages 

– Si c’est le cas → il lui attribue la ressource. – Sinon, la ressource n’est pas accordée. 

26 

Algorithme du banquier 

– matrices A,E,C et R. 

27 

Algorithme du banquier 

– Matrice C des allocations courantes d’ordre (n*m). – Matrice R des demandes(attentes) de ressources d’ordre 

(n*m). – Vecteur A d’ordre m. L’élément A[j] est le nombre de ressources de type E[j] disponibles (non attribuées). – L’élément E[j] est le nombre total de ressources de type 

j existantes dans le système. 

28 

Algorithme du banquier 

  1. Rechercher un processus P[i] non marqué dont la 

rangée R[i] est inférieure à A. 2. Si ce processus existe, ajouter la rangée C[i] à A

marquer le processus et revenir à l’étape 1 3. Si ce processus n’existe pas, les processus non 

marqués sont en interblocage. L’algorithme se termine. → L’algorithme du banquier permet bien de détecter les interblocages mais il est peu utilisé en pratique car on ne connaît pas toujours à l’avance les besoins en ressources des processus. 

29 

Algorithme du banquier 

– 3 processus en cours – 4 types de ressources: 4 dérouleurs de bandes/2 scanners/ 3 

imprimantes / un lecteur de CD ROM 

30 

Détection d’interblocage(Algo) 

– Seul P3 peut obtenir les ressources→ il s’exécute et libère 

les ressources →A = [2,2,2,0] – Ensuite, P2 peut obtenir les ressources→ il s’exécute et 

libère les ressources →A = [4,2,2,1] – Ensuite P1 peut obtenir les ressources → pas 

d’interblocage 

31 

 

télécharger gratuitement cours d’interblocage des processus

Quitter la version mobile