Interblocages - Master 2ITIC - UFR S.A

77
[www.ugb.sn] Interblocages Master 2ITIC - UFR S.A.T Prof. Ousmane THIARE [email protected] [www.ousmanethiare.com] 16 avril 2020

Transcript of Interblocages - Master 2ITIC - UFR S.A

Page 1: Interblocages - Master 2ITIC - UFR S.A

[wwwugbsn]

InterblocagesMaster 2ITIC - UFR SAT

Prof Ousmane THIARE

othiareugbedusn[wwwousmanethiarecom]

16 avril 2020

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

Chapitre 5 Interblocages

1 Rappel

2 Deacutefinition drsquoun interblocage

3 Conditions neacutecessaires pour lrsquointerblocage

4 Graphe drsquoallocation des ressources

5 Reacuteduction du graphe drsquoallocation des ressources

6 Traitement des interblocages

7 La deacutetection et la reprise

8 Meacutethodes de traitement des interblocages

9 Preacutevention des interblocages

10 Evitement des interblocages

11 Deacutetection et gueacuterison des interblocages

Prof Ousmane THIARE Interblocages 16 avril 2020 272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

Chapitre 5 Interblocages

Prof Ousmane THIARE Interblocages 16 avril 2020 372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressources

Utilisation de la ressource Le processus peut utiliserla ressourceLibeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressource

Libeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressourceLibeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lorsqursquoun processus demande un accegraves exclusif agrave uneressource deacutejagrave alloueacutee agrave un autre processus le systegravemedrsquoexploitation deacutecide de le mettre en attente jusqursquoagrave ceque la ressource demandeacutee devienne disponible ou luiretourner un message indiquant que la ressource nrsquoestpas disponible reacuteessayer plus tardLes ressources peuvent ecirctre de plusieurs types

Reutilisables ou disponibles Existent-elles apregraves sonutilisation Reutilisable

Toutes les ressources physiquesQuelques unes logiques (fichiers mutex verrous etc)

Prof Ousmane THIARE Interblocages 16 avril 2020 572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

DisponiblesUn processus engendre une ressource et un autre lrsquoutiliseRessources associeacutees agrave la communication et agrave lasynchronisation comme les messages les signaux lesseacutemaphores etcDrsquousage partageacute Est-ce que la ressource peut ecirctreutiliseacutee par plusieurs processus en mecircme temps Lesressources partageacutees nrsquoaffectent pas les interblocagesAvec un ou multiples exemplaires Existent-ils demultiples exemplaires drsquoune mecircme ressource Preeacutemptible ou non preeacutemptible Est-ce qursquoon a le droitde retirer une ressource quand elle est utiliseacutee par unprocessus

Prof Ousmane THIARE Interblocages 16 avril 2020 672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

La diffeacuterence principale entre ressources preacuteemptibles etnon preacuteemptibles est que les premiegraveres peuvent ecirctreretireacutees sans risque au processus qui les deacutetient tandisque les deuxiegravemes ne peuvent ecirctre retireacutees sansprovoquer des problegravemes Comme exemples deressources preacuteemptibles nous avons le processeur (ougrave lechangement de contexte correspond agrave lrsquoexpropriation etlrsquoeacutetat du processeur est copieacute agrave la Table de Controcircle deProcessus (BCP)) et la meacutemoire virtuelle (leremplacement est une expropriation et le contenu de lapage doit ecirctre copieacute au swap) Les imprimantes et lesscanners sont des exemples de ressources nonpreacuteemptibles Pour eacutetudier le problegraveme des interblocagesnous allons consideacuterer uniquement les ressources nonpreacuteemptibles

Prof Ousmane THIARE Interblocages 16 avril 2020 772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Des problegravemes peuvent survenir lorsque les processusobtiennent des accegraves exclusifs aux ressources Parexemple un processus P1 deacutetient une ressource R1 etattend une autre ressource R2 qui est utiliseacutee par un autreprocessus P2 le processus P2 deacutetient la ressource R2 etattend la ressource R1 On a une situation drsquointerblocage(deadlock en anglais) car P1 attend P2 et P2 attend P1Les deux processus vont attendre indeacutefiniment commemontreacute sur la figure ci-dessous

Prof Ousmane THIARE Interblocages 16 avril 2020 872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 2: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

Chapitre 5 Interblocages

1 Rappel

2 Deacutefinition drsquoun interblocage

3 Conditions neacutecessaires pour lrsquointerblocage

4 Graphe drsquoallocation des ressources

5 Reacuteduction du graphe drsquoallocation des ressources

6 Traitement des interblocages

7 La deacutetection et la reprise

8 Meacutethodes de traitement des interblocages

9 Preacutevention des interblocages

10 Evitement des interblocages

11 Deacutetection et gueacuterison des interblocages

Prof Ousmane THIARE Interblocages 16 avril 2020 272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

Chapitre 5 Interblocages

Prof Ousmane THIARE Interblocages 16 avril 2020 372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressources

Utilisation de la ressource Le processus peut utiliserla ressourceLibeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressource

Libeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressourceLibeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lorsqursquoun processus demande un accegraves exclusif agrave uneressource deacutejagrave alloueacutee agrave un autre processus le systegravemedrsquoexploitation deacutecide de le mettre en attente jusqursquoagrave ceque la ressource demandeacutee devienne disponible ou luiretourner un message indiquant que la ressource nrsquoestpas disponible reacuteessayer plus tardLes ressources peuvent ecirctre de plusieurs types

Reutilisables ou disponibles Existent-elles apregraves sonutilisation Reutilisable

Toutes les ressources physiquesQuelques unes logiques (fichiers mutex verrous etc)

Prof Ousmane THIARE Interblocages 16 avril 2020 572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

DisponiblesUn processus engendre une ressource et un autre lrsquoutiliseRessources associeacutees agrave la communication et agrave lasynchronisation comme les messages les signaux lesseacutemaphores etcDrsquousage partageacute Est-ce que la ressource peut ecirctreutiliseacutee par plusieurs processus en mecircme temps Lesressources partageacutees nrsquoaffectent pas les interblocagesAvec un ou multiples exemplaires Existent-ils demultiples exemplaires drsquoune mecircme ressource Preeacutemptible ou non preeacutemptible Est-ce qursquoon a le droitde retirer une ressource quand elle est utiliseacutee par unprocessus

Prof Ousmane THIARE Interblocages 16 avril 2020 672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

La diffeacuterence principale entre ressources preacuteemptibles etnon preacuteemptibles est que les premiegraveres peuvent ecirctreretireacutees sans risque au processus qui les deacutetient tandisque les deuxiegravemes ne peuvent ecirctre retireacutees sansprovoquer des problegravemes Comme exemples deressources preacuteemptibles nous avons le processeur (ougrave lechangement de contexte correspond agrave lrsquoexpropriation etlrsquoeacutetat du processeur est copieacute agrave la Table de Controcircle deProcessus (BCP)) et la meacutemoire virtuelle (leremplacement est une expropriation et le contenu de lapage doit ecirctre copieacute au swap) Les imprimantes et lesscanners sont des exemples de ressources nonpreacuteemptibles Pour eacutetudier le problegraveme des interblocagesnous allons consideacuterer uniquement les ressources nonpreacuteemptibles

Prof Ousmane THIARE Interblocages 16 avril 2020 772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Des problegravemes peuvent survenir lorsque les processusobtiennent des accegraves exclusifs aux ressources Parexemple un processus P1 deacutetient une ressource R1 etattend une autre ressource R2 qui est utiliseacutee par un autreprocessus P2 le processus P2 deacutetient la ressource R2 etattend la ressource R1 On a une situation drsquointerblocage(deadlock en anglais) car P1 attend P2 et P2 attend P1Les deux processus vont attendre indeacutefiniment commemontreacute sur la figure ci-dessous

Prof Ousmane THIARE Interblocages 16 avril 2020 872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 3: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

Chapitre 5 Interblocages

Prof Ousmane THIARE Interblocages 16 avril 2020 372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressources

Utilisation de la ressource Le processus peut utiliserla ressourceLibeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressource

Libeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressourceLibeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lorsqursquoun processus demande un accegraves exclusif agrave uneressource deacutejagrave alloueacutee agrave un autre processus le systegravemedrsquoexploitation deacutecide de le mettre en attente jusqursquoagrave ceque la ressource demandeacutee devienne disponible ou luiretourner un message indiquant que la ressource nrsquoestpas disponible reacuteessayer plus tardLes ressources peuvent ecirctre de plusieurs types

Reutilisables ou disponibles Existent-elles apregraves sonutilisation Reutilisable

Toutes les ressources physiquesQuelques unes logiques (fichiers mutex verrous etc)

Prof Ousmane THIARE Interblocages 16 avril 2020 572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

DisponiblesUn processus engendre une ressource et un autre lrsquoutiliseRessources associeacutees agrave la communication et agrave lasynchronisation comme les messages les signaux lesseacutemaphores etcDrsquousage partageacute Est-ce que la ressource peut ecirctreutiliseacutee par plusieurs processus en mecircme temps Lesressources partageacutees nrsquoaffectent pas les interblocagesAvec un ou multiples exemplaires Existent-ils demultiples exemplaires drsquoune mecircme ressource Preeacutemptible ou non preeacutemptible Est-ce qursquoon a le droitde retirer une ressource quand elle est utiliseacutee par unprocessus

Prof Ousmane THIARE Interblocages 16 avril 2020 672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

La diffeacuterence principale entre ressources preacuteemptibles etnon preacuteemptibles est que les premiegraveres peuvent ecirctreretireacutees sans risque au processus qui les deacutetient tandisque les deuxiegravemes ne peuvent ecirctre retireacutees sansprovoquer des problegravemes Comme exemples deressources preacuteemptibles nous avons le processeur (ougrave lechangement de contexte correspond agrave lrsquoexpropriation etlrsquoeacutetat du processeur est copieacute agrave la Table de Controcircle deProcessus (BCP)) et la meacutemoire virtuelle (leremplacement est une expropriation et le contenu de lapage doit ecirctre copieacute au swap) Les imprimantes et lesscanners sont des exemples de ressources nonpreacuteemptibles Pour eacutetudier le problegraveme des interblocagesnous allons consideacuterer uniquement les ressources nonpreacuteemptibles

Prof Ousmane THIARE Interblocages 16 avril 2020 772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Des problegravemes peuvent survenir lorsque les processusobtiennent des accegraves exclusifs aux ressources Parexemple un processus P1 deacutetient une ressource R1 etattend une autre ressource R2 qui est utiliseacutee par un autreprocessus P2 le processus P2 deacutetient la ressource R2 etattend la ressource R1 On a une situation drsquointerblocage(deadlock en anglais) car P1 attend P2 et P2 attend P1Les deux processus vont attendre indeacutefiniment commemontreacute sur la figure ci-dessous

Prof Ousmane THIARE Interblocages 16 avril 2020 872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 4: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressources

Utilisation de la ressource Le processus peut utiliserla ressourceLibeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressource

Libeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressourceLibeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lorsqursquoun processus demande un accegraves exclusif agrave uneressource deacutejagrave alloueacutee agrave un autre processus le systegravemedrsquoexploitation deacutecide de le mettre en attente jusqursquoagrave ceque la ressource demandeacutee devienne disponible ou luiretourner un message indiquant que la ressource nrsquoestpas disponible reacuteessayer plus tardLes ressources peuvent ecirctre de plusieurs types

Reutilisables ou disponibles Existent-elles apregraves sonutilisation Reutilisable

Toutes les ressources physiquesQuelques unes logiques (fichiers mutex verrous etc)

Prof Ousmane THIARE Interblocages 16 avril 2020 572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

DisponiblesUn processus engendre une ressource et un autre lrsquoutiliseRessources associeacutees agrave la communication et agrave lasynchronisation comme les messages les signaux lesseacutemaphores etcDrsquousage partageacute Est-ce que la ressource peut ecirctreutiliseacutee par plusieurs processus en mecircme temps Lesressources partageacutees nrsquoaffectent pas les interblocagesAvec un ou multiples exemplaires Existent-ils demultiples exemplaires drsquoune mecircme ressource Preeacutemptible ou non preeacutemptible Est-ce qursquoon a le droitde retirer une ressource quand elle est utiliseacutee par unprocessus

Prof Ousmane THIARE Interblocages 16 avril 2020 672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

La diffeacuterence principale entre ressources preacuteemptibles etnon preacuteemptibles est que les premiegraveres peuvent ecirctreretireacutees sans risque au processus qui les deacutetient tandisque les deuxiegravemes ne peuvent ecirctre retireacutees sansprovoquer des problegravemes Comme exemples deressources preacuteemptibles nous avons le processeur (ougrave lechangement de contexte correspond agrave lrsquoexpropriation etlrsquoeacutetat du processeur est copieacute agrave la Table de Controcircle deProcessus (BCP)) et la meacutemoire virtuelle (leremplacement est une expropriation et le contenu de lapage doit ecirctre copieacute au swap) Les imprimantes et lesscanners sont des exemples de ressources nonpreacuteemptibles Pour eacutetudier le problegraveme des interblocagesnous allons consideacuterer uniquement les ressources nonpreacuteemptibles

Prof Ousmane THIARE Interblocages 16 avril 2020 772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Des problegravemes peuvent survenir lorsque les processusobtiennent des accegraves exclusifs aux ressources Parexemple un processus P1 deacutetient une ressource R1 etattend une autre ressource R2 qui est utiliseacutee par un autreprocessus P2 le processus P2 deacutetient la ressource R2 etattend la ressource R1 On a une situation drsquointerblocage(deadlock en anglais) car P1 attend P2 et P2 attend P1Les deux processus vont attendre indeacutefiniment commemontreacute sur la figure ci-dessous

Prof Ousmane THIARE Interblocages 16 avril 2020 872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 5: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressource

Libeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressourceLibeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lorsqursquoun processus demande un accegraves exclusif agrave uneressource deacutejagrave alloueacutee agrave un autre processus le systegravemedrsquoexploitation deacutecide de le mettre en attente jusqursquoagrave ceque la ressource demandeacutee devienne disponible ou luiretourner un message indiquant que la ressource nrsquoestpas disponible reacuteessayer plus tardLes ressources peuvent ecirctre de plusieurs types

Reutilisables ou disponibles Existent-elles apregraves sonutilisation Reutilisable

Toutes les ressources physiquesQuelques unes logiques (fichiers mutex verrous etc)

Prof Ousmane THIARE Interblocages 16 avril 2020 572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

DisponiblesUn processus engendre une ressource et un autre lrsquoutiliseRessources associeacutees agrave la communication et agrave lasynchronisation comme les messages les signaux lesseacutemaphores etcDrsquousage partageacute Est-ce que la ressource peut ecirctreutiliseacutee par plusieurs processus en mecircme temps Lesressources partageacutees nrsquoaffectent pas les interblocagesAvec un ou multiples exemplaires Existent-ils demultiples exemplaires drsquoune mecircme ressource Preeacutemptible ou non preeacutemptible Est-ce qursquoon a le droitde retirer une ressource quand elle est utiliseacutee par unprocessus

Prof Ousmane THIARE Interblocages 16 avril 2020 672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

La diffeacuterence principale entre ressources preacuteemptibles etnon preacuteemptibles est que les premiegraveres peuvent ecirctreretireacutees sans risque au processus qui les deacutetient tandisque les deuxiegravemes ne peuvent ecirctre retireacutees sansprovoquer des problegravemes Comme exemples deressources preacuteemptibles nous avons le processeur (ougrave lechangement de contexte correspond agrave lrsquoexpropriation etlrsquoeacutetat du processeur est copieacute agrave la Table de Controcircle deProcessus (BCP)) et la meacutemoire virtuelle (leremplacement est une expropriation et le contenu de lapage doit ecirctre copieacute au swap) Les imprimantes et lesscanners sont des exemples de ressources nonpreacuteemptibles Pour eacutetudier le problegraveme des interblocagesnous allons consideacuterer uniquement les ressources nonpreacuteemptibles

Prof Ousmane THIARE Interblocages 16 avril 2020 772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Des problegravemes peuvent survenir lorsque les processusobtiennent des accegraves exclusifs aux ressources Parexemple un processus P1 deacutetient une ressource R1 etattend une autre ressource R2 qui est utiliseacutee par un autreprocessus P2 le processus P2 deacutetient la ressource R2 etattend la ressource R1 On a une situation drsquointerblocage(deadlock en anglais) car P1 attend P2 et P2 attend P1Les deux processus vont attendre indeacutefiniment commemontreacute sur la figure ci-dessous

Prof Ousmane THIARE Interblocages 16 avril 2020 872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 6: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lrsquoexeacutecution drsquoun processus neacutecessite un ensemble deressources (meacutemoire principale disques fichierspeacuteripheacuteriques etc) qui lui sont attribueacutees par le systegravemedrsquoexploitation Lrsquoutilisation drsquoune ressource passe par leseacutetapes suivantes

Demande de la ressource Si lrsquoon ne peut passatisfaire la demande il faut attendre La demande seramise dans une table drsquoattente des ressourcesUtilisation de la ressource Le processus peut utiliserla ressourceLibeacuteration de la ressource Le processus libegravere laressource demandeacutee et alloueacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lorsqursquoun processus demande un accegraves exclusif agrave uneressource deacutejagrave alloueacutee agrave un autre processus le systegravemedrsquoexploitation deacutecide de le mettre en attente jusqursquoagrave ceque la ressource demandeacutee devienne disponible ou luiretourner un message indiquant que la ressource nrsquoestpas disponible reacuteessayer plus tardLes ressources peuvent ecirctre de plusieurs types

Reutilisables ou disponibles Existent-elles apregraves sonutilisation Reutilisable

Toutes les ressources physiquesQuelques unes logiques (fichiers mutex verrous etc)

Prof Ousmane THIARE Interblocages 16 avril 2020 572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

DisponiblesUn processus engendre une ressource et un autre lrsquoutiliseRessources associeacutees agrave la communication et agrave lasynchronisation comme les messages les signaux lesseacutemaphores etcDrsquousage partageacute Est-ce que la ressource peut ecirctreutiliseacutee par plusieurs processus en mecircme temps Lesressources partageacutees nrsquoaffectent pas les interblocagesAvec un ou multiples exemplaires Existent-ils demultiples exemplaires drsquoune mecircme ressource Preeacutemptible ou non preeacutemptible Est-ce qursquoon a le droitde retirer une ressource quand elle est utiliseacutee par unprocessus

Prof Ousmane THIARE Interblocages 16 avril 2020 672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

La diffeacuterence principale entre ressources preacuteemptibles etnon preacuteemptibles est que les premiegraveres peuvent ecirctreretireacutees sans risque au processus qui les deacutetient tandisque les deuxiegravemes ne peuvent ecirctre retireacutees sansprovoquer des problegravemes Comme exemples deressources preacuteemptibles nous avons le processeur (ougrave lechangement de contexte correspond agrave lrsquoexpropriation etlrsquoeacutetat du processeur est copieacute agrave la Table de Controcircle deProcessus (BCP)) et la meacutemoire virtuelle (leremplacement est une expropriation et le contenu de lapage doit ecirctre copieacute au swap) Les imprimantes et lesscanners sont des exemples de ressources nonpreacuteemptibles Pour eacutetudier le problegraveme des interblocagesnous allons consideacuterer uniquement les ressources nonpreacuteemptibles

Prof Ousmane THIARE Interblocages 16 avril 2020 772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Des problegravemes peuvent survenir lorsque les processusobtiennent des accegraves exclusifs aux ressources Parexemple un processus P1 deacutetient une ressource R1 etattend une autre ressource R2 qui est utiliseacutee par un autreprocessus P2 le processus P2 deacutetient la ressource R2 etattend la ressource R1 On a une situation drsquointerblocage(deadlock en anglais) car P1 attend P2 et P2 attend P1Les deux processus vont attendre indeacutefiniment commemontreacute sur la figure ci-dessous

Prof Ousmane THIARE Interblocages 16 avril 2020 872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 7: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

Lorsqursquoun processus demande un accegraves exclusif agrave uneressource deacutejagrave alloueacutee agrave un autre processus le systegravemedrsquoexploitation deacutecide de le mettre en attente jusqursquoagrave ceque la ressource demandeacutee devienne disponible ou luiretourner un message indiquant que la ressource nrsquoestpas disponible reacuteessayer plus tardLes ressources peuvent ecirctre de plusieurs types

Reutilisables ou disponibles Existent-elles apregraves sonutilisation Reutilisable

Toutes les ressources physiquesQuelques unes logiques (fichiers mutex verrous etc)

Prof Ousmane THIARE Interblocages 16 avril 2020 572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

DisponiblesUn processus engendre une ressource et un autre lrsquoutiliseRessources associeacutees agrave la communication et agrave lasynchronisation comme les messages les signaux lesseacutemaphores etcDrsquousage partageacute Est-ce que la ressource peut ecirctreutiliseacutee par plusieurs processus en mecircme temps Lesressources partageacutees nrsquoaffectent pas les interblocagesAvec un ou multiples exemplaires Existent-ils demultiples exemplaires drsquoune mecircme ressource Preeacutemptible ou non preeacutemptible Est-ce qursquoon a le droitde retirer une ressource quand elle est utiliseacutee par unprocessus

Prof Ousmane THIARE Interblocages 16 avril 2020 672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

La diffeacuterence principale entre ressources preacuteemptibles etnon preacuteemptibles est que les premiegraveres peuvent ecirctreretireacutees sans risque au processus qui les deacutetient tandisque les deuxiegravemes ne peuvent ecirctre retireacutees sansprovoquer des problegravemes Comme exemples deressources preacuteemptibles nous avons le processeur (ougrave lechangement de contexte correspond agrave lrsquoexpropriation etlrsquoeacutetat du processeur est copieacute agrave la Table de Controcircle deProcessus (BCP)) et la meacutemoire virtuelle (leremplacement est une expropriation et le contenu de lapage doit ecirctre copieacute au swap) Les imprimantes et lesscanners sont des exemples de ressources nonpreacuteemptibles Pour eacutetudier le problegraveme des interblocagesnous allons consideacuterer uniquement les ressources nonpreacuteemptibles

Prof Ousmane THIARE Interblocages 16 avril 2020 772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Des problegravemes peuvent survenir lorsque les processusobtiennent des accegraves exclusifs aux ressources Parexemple un processus P1 deacutetient une ressource R1 etattend une autre ressource R2 qui est utiliseacutee par un autreprocessus P2 le processus P2 deacutetient la ressource R2 etattend la ressource R1 On a une situation drsquointerblocage(deadlock en anglais) car P1 attend P2 et P2 attend P1Les deux processus vont attendre indeacutefiniment commemontreacute sur la figure ci-dessous

Prof Ousmane THIARE Interblocages 16 avril 2020 872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 8: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

DisponiblesUn processus engendre une ressource et un autre lrsquoutiliseRessources associeacutees agrave la communication et agrave lasynchronisation comme les messages les signaux lesseacutemaphores etcDrsquousage partageacute Est-ce que la ressource peut ecirctreutiliseacutee par plusieurs processus en mecircme temps Lesressources partageacutees nrsquoaffectent pas les interblocagesAvec un ou multiples exemplaires Existent-ils demultiples exemplaires drsquoune mecircme ressource Preeacutemptible ou non preeacutemptible Est-ce qursquoon a le droitde retirer une ressource quand elle est utiliseacutee par unprocessus

Prof Ousmane THIARE Interblocages 16 avril 2020 672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

La diffeacuterence principale entre ressources preacuteemptibles etnon preacuteemptibles est que les premiegraveres peuvent ecirctreretireacutees sans risque au processus qui les deacutetient tandisque les deuxiegravemes ne peuvent ecirctre retireacutees sansprovoquer des problegravemes Comme exemples deressources preacuteemptibles nous avons le processeur (ougrave lechangement de contexte correspond agrave lrsquoexpropriation etlrsquoeacutetat du processeur est copieacute agrave la Table de Controcircle deProcessus (BCP)) et la meacutemoire virtuelle (leremplacement est une expropriation et le contenu de lapage doit ecirctre copieacute au swap) Les imprimantes et lesscanners sont des exemples de ressources nonpreacuteemptibles Pour eacutetudier le problegraveme des interblocagesnous allons consideacuterer uniquement les ressources nonpreacuteemptibles

Prof Ousmane THIARE Interblocages 16 avril 2020 772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Des problegravemes peuvent survenir lorsque les processusobtiennent des accegraves exclusifs aux ressources Parexemple un processus P1 deacutetient une ressource R1 etattend une autre ressource R2 qui est utiliseacutee par un autreprocessus P2 le processus P2 deacutetient la ressource R2 etattend la ressource R1 On a une situation drsquointerblocage(deadlock en anglais) car P1 attend P2 et P2 attend P1Les deux processus vont attendre indeacutefiniment commemontreacute sur la figure ci-dessous

Prof Ousmane THIARE Interblocages 16 avril 2020 872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 9: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLes processus et les ressources

La diffeacuterence principale entre ressources preacuteemptibles etnon preacuteemptibles est que les premiegraveres peuvent ecirctreretireacutees sans risque au processus qui les deacutetient tandisque les deuxiegravemes ne peuvent ecirctre retireacutees sansprovoquer des problegravemes Comme exemples deressources preacuteemptibles nous avons le processeur (ougrave lechangement de contexte correspond agrave lrsquoexpropriation etlrsquoeacutetat du processeur est copieacute agrave la Table de Controcircle deProcessus (BCP)) et la meacutemoire virtuelle (leremplacement est une expropriation et le contenu de lapage doit ecirctre copieacute au swap) Les imprimantes et lesscanners sont des exemples de ressources nonpreacuteemptibles Pour eacutetudier le problegraveme des interblocagesnous allons consideacuterer uniquement les ressources nonpreacuteemptibles

Prof Ousmane THIARE Interblocages 16 avril 2020 772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Des problegravemes peuvent survenir lorsque les processusobtiennent des accegraves exclusifs aux ressources Parexemple un processus P1 deacutetient une ressource R1 etattend une autre ressource R2 qui est utiliseacutee par un autreprocessus P2 le processus P2 deacutetient la ressource R2 etattend la ressource R1 On a une situation drsquointerblocage(deadlock en anglais) car P1 attend P2 et P2 attend P1Les deux processus vont attendre indeacutefiniment commemontreacute sur la figure ci-dessous

Prof Ousmane THIARE Interblocages 16 avril 2020 872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 10: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Des problegravemes peuvent survenir lorsque les processusobtiennent des accegraves exclusifs aux ressources Parexemple un processus P1 deacutetient une ressource R1 etattend une autre ressource R2 qui est utiliseacutee par un autreprocessus P2 le processus P2 deacutetient la ressource R2 etattend la ressource R1 On a une situation drsquointerblocage(deadlock en anglais) car P1 attend P2 et P2 attend P1Les deux processus vont attendre indeacutefiniment commemontreacute sur la figure ci-dessous

Prof Ousmane THIARE Interblocages 16 avril 2020 872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 11: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

1 2

1

Demandeacutee

AlloueacuteeP P

R R2

FIGURE Situation drsquointerblocage de deux processus

Prof Ousmane THIARE Interblocages 16 avril 2020 972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 12: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

En geacuteneacuteral un ensemble de processus est eninterblocage si chaque processus attend la libeacuterationdrsquoune ressource qui est alloueacutee agrave un autre processus delrsquoensemble Comme tous les processus sont en attenteaucun ne pourra srsquoexeacutecuter et donc libeacuterer les ressourcesdemandeacutees par les autres Ils attendront tousindeacutefiniment

Prof Ousmane THIARE Interblocages 16 avril 2020 1072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 13: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Exemple 1 InterblocagesAccegraves aux peacuteripheacuteriques Supposons que deuxprocessus A et B veulent imprimer en utilisant la mecircmeimprimante un fichier stockeacute sur une bande magneacutetiqueLa taille de ce fichier est supeacuterieure agrave la capaciteacute dudisque Chaque processus a besoin drsquoun accegraves exclusifau deacuterouleur et agrave lrsquoimprimante simultaneacutement On a unesituation drsquointerblocage si

Le processus A utilise lrsquoimprimante et demande lrsquoaccegravesau deacuterouleurLe processus B deacutetient le deacuterouleur de bande etdemande lrsquoimprimante

Prof Ousmane THIARE Interblocages 16 avril 2020 1172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 14: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Accegraves agrave une base de donneacutees Supposons deuxprocessus A et B qui demandent des accegraves exclusifs auxenregistrements drsquoune base de donneacutees On arrive agrave unesituation drsquointerblocage si

Le processus A a verrouilleacute lrsquoenregistrement R1 etdemande lrsquoaccegraves agrave lrsquoenregistrement R2Le processus B a verrouilleacute lrsquoenregistrement R2 etdemande lrsquoaccegraves agrave lrsquoenregistrement R1

Prof Ousmane THIARE Interblocages 16 avril 2020 1272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 15: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere Consideacuterons deux routes agrave doublesens qui se croisent ougrave la circulation est impossible Unproblegraveme drsquointerblocage y est preacutesentLa reacutesolution des interblocages constitue un pointtheacuteorique tregraves eacutetudieacute Mais pour lrsquoinstant il nrsquoy a pas desolution complegravetement satisfaisante et la plupart dessystegravemes - notamment Unix - ne cherchent pas agrave traiterce pheacutenomegravene Cependant si on ne peut pas reacutesoudre leproblegraveme dans sa geacuteneacuteraliteacute on devra tenir compte decertaines techniques qui minimisent les risques

Prof Ousmane THIARE Interblocages 16 avril 2020 1372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 16: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutefinition drsquoun interblocage

Circulation routiegravere

Prof Ousmane THIARE Interblocages 16 avril 2020 1472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 17: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processus

La deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 18: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautres

Pas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 19: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processus

Lrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 20: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Pour qursquoune situation drsquointerblocage ait lieu les quatreconditions suivantes doivent ecirctre remplies (Conditions deCoffman)

Lrsquoexclusion mutuelle A un instant preacutecis uneressource est alloueacutee agrave un seul processusLa deacutetention et lrsquoattente Les processus qui deacutetiennentdes ressources peuvent en demander drsquoautresPas de preacuteemption Les ressources alloueacutees agrave unprocessus sont libeacutereacutees uniquement par le processusLrsquoattente circulaire Il existe une chaicircne de deux ouplus processus de telle maniegravere que chaque processusdans la chaicircne requiert une ressource alloueacutee auprocessus suivant dans la chaicircne

Prof Ousmane THIARE Interblocages 16 avril 2020 1572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 21: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesConditions neacutecessaires pour lrsquointerblocage

Par exemple dans le problegraveme de circulation le trafic estimpossible On observe que les quatre conditionsdrsquointerblocage sont bien remplies

Exclusion mutuelle Seulement une voiture occupe unendroit particulier de la route agrave un instant donneacuteDeacutetention et attente Aucun voiture ne peut fairemarche arriegraverePas de preacuteemption On ne permet pas agrave une voiturede pousser une autre voiture en dehors de la routeAttente circulaire Chaque coin de la rue contient desvoitures dont le mouvement deacutepend des voitures quibloquent la prochaine intersection

Prof Ousmane THIARE Interblocages 16 avril 2020 1672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 22: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Le graphe drsquoallocation des ressources est un graphebiparti composeacute de deux types de nœuds et drsquounensemble drsquoarcs

Les processus qui sont repreacutesenteacutes par des cerclesLes ressources qui sont repreacutesenteacutees par desrectangles Chaque rectangle contient autant de pointsqursquoil y a drsquoexemplaires de la ressource repreacutesenteacuteeUn arc orienteacute drsquoune ressource vers un processussignifie que la ressource est alloueacutee au processusUn arc orienteacute drsquoun processus vers une ressourcesignifie que le processus est bloqueacute en attente de laressource

Ce graphe indique pour chaque processus les ressourcesqursquoil deacutetient ainsi que celles qursquoil demandeProf Ousmane THIARE Interblocages 16 avril 2020 1772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 23: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Exemple 2Soient trois processus A B et C qui utilisent troisressources R S et T comme illustreacute sur le tableauci-dessous

A B CDemande R Demande S Demande TDemande S Demande T Demande RLibegravere R Libegravere S Libegravere TLibegravere S Libegravere T Libegravere R

Prof Ousmane THIARE Interblocages 16 avril 2020 1872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 24: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

Si les processus sont exeacutecuteacutes de faccedilon seacutequentielle Asuivi de B suivi C il nrsquoy pas drsquointerblocage Supposonsmaintenant que lrsquoexeacutecution des processus est geacutereacutee parun ordonnanceur du type circulaire Si les instructionssont exeacutecuteacutees dans lrsquoordre 1 A deacutetient R2 B deacutetient S3 C deacutetient T4 A demande S5 B demande T6 C demande R

Prof Ousmane THIARE Interblocages 16 avril 2020 1972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 25: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGraphe drsquoallocation des ressources

On atteint une situation drsquointerblocage fait qui est montreacutesur la figure ci-apregraves

C

R S T

A B

FIGURE Situation drsquointerblocage de trois processus

Prof Ousmane THIARE Interblocages 16 avril 2020 2072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 26: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Un graphe reacuteduit peut-ecirctre utiliseacute pour deacuteterminer srsquoilexiste ou non un interblocage Pour la reacuteduction drsquoungraphe drsquoallocation des ressources les flegravechesassocieacutees agrave chaque processus et agrave chaque ressourcedoivent ecirctre veacuterifieacutees

Si une ressource possegravede seulement des flegraveches quisortent (il nrsquoy a pas des requecirctes) on les effaceSi un processus possegravede seulement des flegraveches quipointent vers lui on les effaceSi une ressource a des flegraveches qui sortent mais pourchaque flegraveche de requecircte il y a une ressource disponibledans le bloc de ressources ougrave la flegraveche pointe il faut leseffacer

Prof Ousmane THIARE Interblocages 16 avril 2020 2172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 27: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

Exemple 3 Consideacuterez quatre processus P1 middot middot middot Pn quiutilisent des ressources du type R1 R2 et R3 Le tableauci-dessous montre lrsquoallocation courante et le nombremaximaux drsquouniteacutes de ressources neacutecessaires pourlrsquoexeacutecution des processus Le nombre de ressourcesdisponibles est A=[000] Le graphe drsquoallocation desressources pour lrsquoeacutetat courant est montreacute sur la figureci-apregraves

Processus R1 R2 R3 R1 R2 R3P1 3 0 0 0 0 0P2 1 1 0 1 0 0P3 0 2 0 1 0 1P4 1 0 1 0 2 0

Prof Ousmane THIARE Interblocages 16 avril 2020 2272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 28: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

P1 possegravede seulement des flegraveches qui pointent vers luialors on les efface Les requecirctes de R1 effectueacutees par P2peuvent donc ecirctre alloueacutees et P2 aura seulement desflegraveches qui pointent vers lui On les efface aussi Onefface la flegraveche de R1 vers P3 (qui a changeacute de direction)car R1 nrsquoa que des flegraveches sortant Le graphe reacuteduit finalest

Prof Ousmane THIARE Interblocages 16 avril 2020 2372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 29: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesReacuteduction du graphe drsquoallocation des ressources

4

R R R

1

1

2

2 3

3P P P P

FIGURE Graphe reacuteduit drsquoallocation

Prof Ousmane THIARE Interblocages 16 avril 2020 2472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 30: Interblocages - Master 2ITIC - UFR S.A

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Comme nous lrsquoavons mentionneacute les situationsdrsquointerblocage peuvent se produire dans un systegraveme Laquestion qui se pose est donc doit-il prendre en comptece problegraveme ou lrsquoignorer Ignorer complegravetement les problegravemes On peut fairelrsquoautruche et ignorer les possibiliteacutes drsquointerblocages Cettelaquo strateacutegie raquo est celle de la plupart des systegravemesdrsquoexploitation courants car le prix agrave payer pour les eacuteviterest eacuteleveacuteLes deacutetecter et y remeacutedier On tente de traiter lesinterblocages en deacutetectant les processus interbloqueacutes eten les eacuteliminant

Prof Ousmane THIARE Interblocages 16 avril 2020 2572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Les eacuteviter En allouant dynamiquement les ressourcesavec preacutecaution Le systegraveme drsquoexploitation peutsuspendre le processus qui demande une allocation deressource srsquoil constate que cette allocation peut conduireagrave un interblocage Il lui attribuera la ressource lorsqursquoil nrsquoyaura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesTraitement des interblocages

Le systegraveme drsquoexploitation peut suspendre le processusqui demande une allocation de ressource srsquoil constate quecette allocation peut conduire agrave un interblocage Il luiattribuera la ressource lorsqursquoil nrsquoy aura plus de risqueLes preacutevenir En empecircchant lrsquoapparition de lrsquoune desquatre conditions de leur existence

Prof Ousmane THIARE Interblocages 16 avril 2020 2772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Dans ce cas le systegraveme ne cherche pas agrave empecirccher lesinterblocages Il tente de les deacutetecter et drsquoy remeacutedier Pourdeacutetecter les interblocages il construit dynamiquement legraphe drsquoallocation des ressources du systegraveme quiindique les attributions et les demandes de ressourcesDans le cas des ressources agrave exemplaire unique il existeun interblocage si le graphe contient au moins un cycleDans le cas des ressources agrave exemplaires multiples ilexiste un interblocage si le graphe contient au moins uncycle terminal (aucun arc ne permet de le quitter)

Prof Ousmane THIARE Interblocages 16 avril 2020 2872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesLa deacutetection et la reprise

Le systegraveme veacuterifie srsquoil y a des interblocages A chaque modification du graphe suite agrave une demandedrsquoune ressource (coucircteuse en termes de tempsprocesseur)Peacuteriodiquement ou lorsque lrsquoutilisation du processeur estinfeacuterieure agrave un certain seuil (la deacutetection peut ecirctretardive)

Prof Ousmane THIARE Interblocages 16 avril 2020 2972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesMeacutethodes de traitement des interblocages

Il existe essentiellement trois meacutethodes pour traiter leproblegraveme de lrsquointerblocage Preacutevention EvitementDeacutetection-Gueacuterison

Preacutevention On eacutelimine complegravetement le risquedrsquointerblocage en faisant en sorte que lrsquoune des sesquatre conditions drsquoapparition ne soit pas veacuterifieacuteeEvitement On eacutevite le risque drsquointerblocage en veillantagrave que le systegraveme eacutevolue uniquement entre eacutetats sainsDeacutetection-Gueacuterison On attend que lrsquointerblocagearrive on le deacutetecte puis on applique une meacutethode degueacuterison

Prof Ousmane THIARE Interblocages 16 avril 2020 3072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

1 Exclusion mutuelle Un processus ne doit jamaisattendre une ressource partageable (exemple il fautautoriser autant de processus que possible pour lalecture drsquoun fichier) Cependant il nrsquoest pas possible depreacutevenir les interblocages en niant la condition delrsquoexclusion mutuelle certaines ressources sont nonpartageables (exemple il nrsquoest pas possible de partagerun fichier entre plusieurs reacutedacteurs)

Prof Ousmane THIARE Interblocages 16 avril 2020 3172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

2 Deacutetention et attente Pour srsquoassurer que la conditiondrsquooccupation et drsquoattente ne se produit jamais dans lesystegraveme on doit garantir qursquoagrave chaque fois qursquounprocessus qui requiert une ressource il nrsquoen deacutetientaucune autre Autrement dit un processus ne doitdemander des ressources suppleacutementaires qursquoapregravesavoir libeacutereacute les ressources qursquoil occupe deacutejagrave

Prof Ousmane THIARE Interblocages 16 avril 2020 3272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

ExemplePar exemple imaginons un processus qui copie desdonneacutees drsquoune uniteacute de bandes vers un fichier du disquetrie le fichier puis imprime le reacutesultat Si lrsquoon doitdemander toutes les ressources au deacutebut du processuscelui-ci doit degraves le deacutepart requeacuterir lrsquouniteacute de bande lefichier du disque et lrsquoimprimante Ainsi il garderalrsquoimprimante pendant toute lrsquoexeacutecution mecircme srsquoil nrsquoen abesoin qursquoagrave la fin Lrsquoautre faccedilon de faire serait drsquoaffecterau processus uniquement lrsquouniteacute de bande et le fichier surdisque au deacutebut de son exeacutecution Il copie de lrsquouniteacute debande vers le disque et les libegravere ensuite tous les deuxLe processus doit agrave nouveau demander le fichier surdisque et lrsquoimprimante Apregraves avoir copieacute le fichier surlrsquoimprimante il libegravere ces deux ressources et se termine

Prof Ousmane THIARE Interblocages 16 avril 2020 3372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

3 Pas de preacuteemption Pour garantir que cette conditionne soit pas veacuterifieacutee on peut utiliser le protocole suivant Si un processus deacutetenant certaines ressources endemande une autre qui ne peut pas lui ecirctreimmeacutediatement alloueacutee toutes les ressourcesactuellement alloues agrave ce processus sontreacutequisitionneacutees Crsquoest agrave dire que ses ressources sontimplicitement libeacutereacutees

Prof Ousmane THIARE Interblocages 16 avril 2020 3472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Les ressources reacutequisitionneacutees sont ajouteacutees agrave la listedes ressources pour lesquelles le processus attend Leprocessus deacutemarrera seulement quand il pourra regagnerses anciennes ressources ainsi que les nouvelles qursquoilrequiertCe protocole preacutesente malheureusement au moins deuxinconveacutenients

Lenteur dans lrsquoutilisation des ressources puisqursquoon peutallouer plusieurs ressources et ne pas les utiliserpendant longtempsLa famine est possible puisqursquoun processus peut ecirctreretardeacute indeacutefiniment parce que lrsquoune des ressources qursquoildemande est occupeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 3572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

4 Attente circulaire On peut garantir que la condition delrsquoattente circulaire ne se veacuterifie jamais en imposant unordre total sur les types de ressources et on forccedilantchaque processus agrave demander les ressources dans unordre croissant drsquoeacutenumeacuteration Par exemple onnumeacuterote les types de ressources du systegraveme commesuit

O(Uniteacute de bandes)=1O(Uniteacute de disque)=2O(Imprimante)=3O(Lecteur CD-ROM)=4O(Lecteur Disquette)=5etc

Prof Ousmane THIARE Interblocages 16 avril 2020 3672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesPreacutevention des interblocages

Pour preacutevenir lrsquointerblocage on peut imaginer le protocolesuivant Un processus ne peut acqueacuterir une ressourcedrsquoordre i que srsquoil a deacutejagrave obtenu toutes les ressourcesneacutecessaires drsquoordre j (jlti) Par exemple un processusdeacutesirant utiliser lrsquouniteacute de bandes et lrsquoimprimante doitdrsquoabord demander lrsquouniteacute de bande ensuite lrsquoimprimanteOn peut deacutemontrer que de cette faccedilon il nrsquoy a aucunrisque drsquointerblocageCependant cet algorithme est inefficace il peut conduire agraveune monopolisation inutile drsquoune ressource (un processuspeut deacutetenir une ressource alors qursquoil nrsquoen a pas besoin)

Prof Ousmane THIARE Interblocages 16 avril 2020 3772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe Si on dispose drsquoun systegraveme drsquoallocation de ressourcesavec une seule instance pour chaque type de ressourceon peut utiliser une variante du graphe drsquoallocation deressources pour la preacutevention des interblocagesEn plus des arcs de requecirctes et drsquoaffectation on introduitun nouveau type drsquoarc appeleacute arc de reacuteclamation Un arcde reacuteclamation Pi minusrarr Rj indique que le processus Pi peutdemander la ressource Rj dans le futur (il est repreacutesenteacuteen pointilleacute)Quand le processus Pi demande reacuteellement la ressourceRj lrsquoarc de reacuteclamation Pi minusrarr Rj est transformeacute en arc derequecircte De mecircme lorsqursquoune ressource est libeacutereacutee parPi lrsquoarc drsquoaffectation Rj minusrarr Pi est reconverti en arc dereacuteclamation Pi minusrarr Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 3872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Principe On peut eacuteviter que lrsquointerblocage arrive en empecircchant Piqui demande la ressource Rj nrsquoobtienne pas cetteressource si la transformation de lrsquoarc de requecirctePi minusrarr Rj en arc drsquoaffectation provoque un circuit dans legrapheSrsquoil nrsquoexiste pas de circuit lrsquoallocation de la ressourcelaissera le systegraveme dans un eacutetat sain Si lrsquoon trouve uncircuit lrsquoallocation de la ressource laissera le systegravemedans un eacutetat malsain Le processus Pi devra doncattendre pour que sa requecircte soit satisfaite

Prof Ousmane THIARE Interblocages 16 avril 2020 3972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain On vient de voir que le principe des meacutethodes drsquoeacutevitementde lrsquointerblocage est de garder le systegraveme toujours dansun eacutetat sain Nous donnons maintenant une deacutefinitionformelle de ce qursquoest un eacutetat sain Deacutefinition drsquoun eacutetat sain Un systegraveme est dans un eacutetat sain srsquoil existe une seacutequencesaine Une seacutequence de processus 〈P1P2 middot middot middot PN〉 estune seacutequence saine pour lrsquoeacutetat drsquoallocation courant sipour chaque Pi les requecirctes de ressources de Pi peuventecirctre satisfaites par les ressources courammentdisponibles plus les ressources deacutetenues par tous les Pj avec jlti

Prof Ousmane THIARE Interblocages 16 avril 2020 4072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Deacutefinition drsquoun eacutetat sain En effet dans cette situation si les ressourcesdemandeacutees par Pi ne sont pas immeacutediatementdisponibles Pi peut attendre jusqursquoagrave la terminaison detous les Pj Une fois qursquoils ont fini Pi peut obtenir lesressources neacutecessaires achever sa tacircche et rendre lesressources alloueacutees Quand Pi termine Pi+1 peut obtenirles ressources manquantes et ainsi de suite Si une telleseacutequence nrsquoexiste pas on dit que le systegraveme est danseacutetat malsain crsquoest agrave dire qursquoil y a un risque drsquoapparitiondrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 4172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple un systegraveme possegravede 12 uniteacutes de bandesmagneacutetiques et 3 processus P0 P1 et P2 On supposeque les besoins des trois processus en ressources sont 10 pour P0 4 pour P1 9 pour P2 Drsquoautre part onsuppose qursquoagrave lrsquoinstant t0 lrsquoeacutetat drsquoallocation des ressourcespar les processus est le suivant 5 pour P0 2 pour P1 et2 pour P2 Le nombre drsquouniteacutes de bandes libres est donceacutegal agrave 3

Nombre de ressources (uniteacutes de bandes) disponibles 03Prof Ousmane THIARE Interblocages 16 avril 2020 4272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple A lrsquoinstant t0 le systegraveme est dans un eacutetat sain En effet laseacutequence 〈P1P0P2〉 est saine puisque lrsquoon peutallouer immeacutediatement au processus P1 toutes sesressources manquantes et les rendre ensuite Dans cecas le systegraveme disposerait de 5 uniteacutes de bandes leprocessus P0 peut donc obtenir toutes ses ressourcesmanquantes et les rendre ensuite Le systegraveme disposeraitalors de 10 uniteacutes de bandes et enfin le processus P2peut obtenir ses uniteacutes de bandes et les rendre lesystegraveme disposerait donc de 12 uniteacutes de bandesIl est possible de passer drsquoun eacutetat sain agrave un eacutetat malsainSupposons qursquoagrave lrsquoinstant t1 le processus P2 demande etqursquoon lui accorde 1 uniteacute de bandes de plus Lrsquoeacutetat dusystegraveme serait alors le suivant Prof Ousmane THIARE Interblocages 16 avril 2020 4372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple

Nombre de ressources (uniteacutes de bandes) disponibles 02

Prof Ousmane THIARE Interblocages 16 avril 2020 4472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Etat sain Exemple Le systegraveme nrsquoest plus dans un eacutetat sain Eneffet on ne peut allouer toutes ses uniteacutes de bandesqursquoau processus P1 Quand il les rendra le systegraveme nedisposera que de 04 uniteacutes de bandes Comme leprocessus P0 peut demander 5 uniteacutes et le processus P27 uniteacutes le systegraveme nrsquoaura pas suffisamment deressources pour les satisfaire Ou pourra alors avoir uncas drsquointerblocage puisque P0 et P2 seront retardeacutesindeacutefiniment Pour eacuteviter cette situation il ne fallait pasaccorder agrave P1 la ressource qursquoil a demandeacutee il fallait lefaire attendre

Prof Ousmane THIARE Interblocages 16 avril 2020 4572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du banquier (Habermann et Dijkstra) est unalgorithme drsquoeacutevitement des interblocages qui srsquoappliquedans le cas geacuteneacuteral ougrave chaque type de ressourcespossegravede plusieurs instances Le nom de lrsquoalgorithme a eacuteteacutechoisi parce que cet algorithme pourrait srsquoappliquer dansun systegraveme bancaire pour srsquoassurer que la banque neprecircte jamais son argent disponible de telle sorte qursquoellene puisse plus satisfaire tous ses clients

Prof Ousmane THIARE Interblocages 16 avril 2020 4672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Quand un nouveau processus entre dans le systegraveme ildoit deacuteclarer le nombre maximal drsquoinstances de chaquetype de ressources dont il aura besoin Ce nombre ne doitpas exceacuteder le nombre total de ressources du systegravemeAu cours de son exeacutecution quand un processus demandeun ensemble de ressources lrsquoalgorithme veacuterifie si celagardera toujours le systegraveme dans un eacutetat sain Danslrsquoaffirmative la demande est accordeacutee dans la neacutegative lademande est retardeacutee

Prof Ousmane THIARE Interblocages 16 avril 2020 4772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Soient m le nombre de types de ressources du systegravemeet n le nombre de processus Pour fonctionnerlrsquoalgorithme maintient plusieurs structures de donneacutees

Available Crsquoest un Vecteur de longueur m indiquant lenombre de ressources disponibles de chaque typeAinsi si Available[j]=k cela veut dire que le type deressources Rj possegravede k instances disponiblesMax Crsquoest une matrice nxm deacutefinissant la demandemaximale de chaque processus Ainsi Si Max[i j]=kcela veut dire que le processus Pi peut demander auplus k instances du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Allocation Crsquoest une matrice nxm deacutefinissant lenombre de ressources de chaque type de ressourcesactuellement alloueacute agrave chaque processus Ainsi siAllocation[i j]=k cela veut dire que lrsquoon a alloueacute auprocessus Pi k instances du type de ressources RjNeed Crsquoest une matrice nxm indiquant les ressourcesrestant agrave satisfaire agrave chaque processus Ainsi si Need[ij]=k cela veut dire que le processus Pi peut avoirbesoin de k instances au plus du type de ressources Rjpour achever sa tacirccheRequest Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 4972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier De ce qui preacutecegravede on peut remarquer que

1 Ces structures de donneacutees peuvent varier dans letemps en taille et en valeur

2 La matrice Need peut ecirctre calculeacutee agrave partir des matricesMax et Allocation

Need [i j] = Max [i j]minus Allocation[i j]

Prof Ousmane THIARE Interblocages 16 avril 2020 5072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Notations Pour des raisons pratiques on utilise lesnotations suivantes

Allocationi Vecteur deacutesignant les ressourcesactuellement alloueacutees au processus PiNeedi Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi peut encoredemanderRequesti Vecteur deacutesignant les ressourcessuppleacutementaires que le processus Pi vient de demanderXlt=Y X et Y sont des vecteurs si X[i]lt=Y[i] pourchaque i allant de 1 agrave n

Prof Ousmane THIARE Interblocages 16 avril 2020 5172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme du Banquier peut ecirctre scindeacute en deux partiescompleacutementaires Un algorithme de requecircte deressources et un algorithme de veacuterification si lrsquoeacutetat dusystegraveme est sainNous donnons maintenant le code de chacune des deuxparties

Prof Ousmane THIARE Interblocages 16 avril 2020 5272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Algorithme de requecircte de ressources Cet algorithmeest appeleacute agrave chaque fois qursquoun processus fait unedemande de ressources

Prof Ousmane THIARE Interblocages 16 avril 2020 5372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Lrsquoalgorithme suivant est une fonction qui renvoie la valeurVrai si le systegraveme est dans un eacutetat sain Faux sinon

Prof Ousmane THIARE Interblocages 16 avril 2020 5472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Remarque Cet algorithme peut demander mxn2

opeacuterations pour deacutecider si un eacutetat est sainExemple Un systegraveme possegravede 5 processus (P0 P1 P2P3 P4) et 3 types de ressources (A B C) Le type deressources A possegravede 10 instances le type deressources B possegravede 5 instances et le type deressources C possegravede 7 instances A lrsquoinstant T0 lrsquoeacutetatdes ressources du systegraveme est deacutecrit par les matricesAllocation Max et Available suivantes

Prof Ousmane THIARE Interblocages 16 avril 2020 5572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Le contenu de la matrice Need peut ecirctre deacuteduit par calculNeed=Max-Allocation

On peut veacuterifier que le systegraveme est dans un eacutetat sain Eneffet la seacutequence 〈P1P3P4P2P0〉 est saine

Prof Ousmane THIARE Interblocages 16 avril 2020 5772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple Supposons qursquoagrave lrsquoinstant T1 le processus P1 demandeune instance suppleacutementaire du type de ressources A etdeux instances du type de ressources C Nous avonsalors Request1=(1 0 2)Afin de deacutecider si la requecircte peut ecirctre immeacutediatementaccordeacutee on doit drsquoabord veacuterifier queRequest1lt=Available ce qui est vrai On enregistre lrsquoeacutetatdu systegraveme (le contenu des matrices) puis on supposeraque la requecircte a eacuteteacute satisfaite et on arrive agrave lrsquoeacutetat suivant

Prof Ousmane THIARE Interblocages 16 avril 2020 5872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple

Prof Ousmane THIARE Interblocages 16 avril 2020 5972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Algorithme du Banquier Exemple On doit alors deacuteterminer si le nouvel eacutetat est sain enappliquant lrsquoalgorithme de veacuterification de lrsquoeacutetat sain ce quiest vrai (la seacutequence 〈P1P3P4P2P0〉 est saine) Onpeut donc accorder la demande de ressource faite par P1A lrsquoinstant T2 une requecircte (3 3 0) arrive du processusP4 Cette requecircte est immeacutediatement rejeteacutee parce queles ressources ne sont pas disponiblesA lrsquoinstant T3 une requecircte (0 2 0) arrive du processusP0 Cette requecircte ne sera pas accordeacutee parce que lrsquoeacutetatobtenu est malsain

Prof Ousmane THIARE Interblocages 16 avril 2020 6072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Coucircteux Lrsquoalgorithme est en effet tregraves coucircteux entemps drsquoexeacutecution et en meacutemoire pour le systegravemePuisqursquoil faut maintenir plusieurs matrices et deacuteclencheragrave chaque demande de 2 ressources lrsquoalgorithme deveacuterification de lrsquoeacutetat sain qui demande mxn2 opeacuterations(m est le nombre de types de ressources et n est lenombre de processus)

Prof Ousmane THIARE Interblocages 16 avril 2020 6172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesEvitement des interblocages

Critique de lrsquoalgorithme du Banquier Bien qursquoil a lrsquoavantage drsquoeacuteviter les interblocageslrsquoalgorithme du banquier a neacuteanmoins quelquesinconveacutenients

Theacuteorique Lrsquoalgorithme exige que chaque processusdeacuteclare agrave lrsquoavance les ressources qursquoil doit utiliser entype et en nombre Cette contrainte est difficile agrave reacutealiserdans la pratiquePessimiste Lrsquoalgorithme peut retarder une demande deressources degraves qursquoil y a risque drsquointerblocage (mais enreacutealiteacute lrsquointerblocage peut ne pas se produire)

Prof Ousmane THIARE Interblocages 16 avril 2020 6272

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection et gueacuterison des interblocages

Si un systegraveme nrsquoemploie pas drsquoalgorithme pour preacutevenirles interblocages il peut se produire une situationdrsquointerblocage Dans ce cas le systegraveme doit fournir

Un algorithme qui examine lrsquoeacutetat du systegraveme pourdeacuteterminer srsquoil srsquoest produit un interblocageUn algorithme pour gueacuterir (corriger) lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6372

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Pour deacutetecter un interblocage dans un systegraveme disposantde plus drsquoune instance pour chaque type de ressourceson peut utiliser lrsquoalgorithme de deacutetection suivant quisrsquoinspire de lrsquoalgorithme du banquier Cet algorithme estlanceacute peacuteriodiquement Il utilise les structures de donneacuteessuivantes

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6472

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Request Crsquoest une matrice nxm indiquant lesressources suppleacutementaires que les processus viennentde demander Ainsi si Request[i j]=k cela veut dire quele processus Pi vient de demander k instancessuppleacutementaires du type de ressources Rj

Prof Ousmane THIARE Interblocages 16 avril 2020 6572

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Prof Ousmane THIARE Interblocages 16 avril 2020 6672

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Lrsquoeacutetat drsquoallocation des ressources drsquounsystegraveme est donneacute par le contenu des trois matricessuivantes Available Allocation et Request

Prof Ousmane THIARE Interblocages 16 avril 2020 6772

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple En appliquant lrsquoalgorithme de deacutetection on trouvera queles contenus successifs des matrices Work et Finsh sont

Prof Ousmane THIARE Interblocages 16 avril 2020 6872

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple Le vecteur Finish a la valeur Vrai donc le systegraveme nrsquoestpas en situation drsquointerblocageSupposons maintenant que le processus P2 fait unedemande suppleacutementaire drsquoune instance de la ressourceD Les donneacutees du problegraveme deviennent donc

Une exeacutecution de lrsquoalgorithme de deacutetection fera apparaicirctreles contenus suivants Prof Ousmane THIARE Interblocages 16 avril 2020 6972

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Exemple

Le deacuteroulement de lrsquoalgorithme srsquoarrecircte avec le vecteurFinish contenant une valeur fausse le systegraveme se trouvedonc en situation drsquointerblocageProf Ousmane THIARE Interblocages 16 avril 2020 7072

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesDeacutetection de lrsquointerblocage

Critique de lrsquoalgorithme de deacutetection Lrsquoalgorithme de deacutetection des interblocages est tregravescoucircteux srsquoil est exeacutecuteacute apregraves chaque demande deressources En effet il sera aussi coucircteux que lrsquoalgorithmedrsquoeacutevitement du Banquier Lrsquoideacutee donc crsquoest de le lancerpeacuteriodiquement mais comment choisir cette peacuteriode

Prof Ousmane THIARE Interblocages 16 avril 2020 7172

Rappel

Deacutefinition drsquouninterblocage

Conditionsneacutecessairespourlrsquointerblocage

Graphedrsquoallocation desressources

Reacuteduction dugraphedrsquoallocation desressources

Traitement desinterblocages

La deacutetection etla reprise

Meacutethodes detraitement desinterblocages

Preacutevention desinterblocages

Evitement desinterblocages

Deacutetection etgueacuterison desinterblocages

InterblocagesGueacuterison de lrsquointerblocage

Il existe plusieurs solutions pour corriger un interblocagesi le systegraveme deacutetecte qursquoil en existe un

Correction manuelle Le systegraveme alerte lrsquoopeacuterateur qursquoilsrsquoest produit un interblocage et lrsquoinvite agrave le traitermanuellement (en relanccedilant le systegraveme par exemple)Terminaison de processus On peut eacuteliminer uninterblocage en arrecirctant un ou plusieurs processus Onpeut choisir drsquoarrecircter tous les processus ou bien de lesarrecircter un agrave un jusqursquoagrave eacuteliminer lrsquointerblocageReacutequisition de ressources Pour eacuteliminer lrsquointerblocageen proceacutedant agrave la reacutequisition drsquoune ou plusieursressources en les enlevant agrave un processus et en lesdonnant agrave un autre jusqursquoagrave ce que lrsquointerblocage soiteacutelimineacute

Prof Ousmane THIARE Interblocages 16 avril 2020 7272

  • Rappel
  • Deacutefinition dun interblocage
  • Conditions neacutecessaires pour linterblocage
  • Graphe dallocation des ressources
  • Reacuteduction du graphe dallocation des ressources
  • Traitement des interblocages
  • La deacutetection et la reprise
  • Meacutethodes de traitement des interblocages
  • Preacutevention des interblocages
  • Evitement des interblocages
  • Deacutetection et gueacuterison des interblocages
Page 31: Interblocages - Master 2ITIC - UFR S.A
Page 32: Interblocages - Master 2ITIC - UFR S.A
Page 33: Interblocages - Master 2ITIC - UFR S.A
Page 34: Interblocages - Master 2ITIC - UFR S.A
Page 35: Interblocages - Master 2ITIC - UFR S.A
Page 36: Interblocages - Master 2ITIC - UFR S.A
Page 37: Interblocages - Master 2ITIC - UFR S.A
Page 38: Interblocages - Master 2ITIC - UFR S.A
Page 39: Interblocages - Master 2ITIC - UFR S.A
Page 40: Interblocages - Master 2ITIC - UFR S.A
Page 41: Interblocages - Master 2ITIC - UFR S.A
Page 42: Interblocages - Master 2ITIC - UFR S.A
Page 43: Interblocages - Master 2ITIC - UFR S.A
Page 44: Interblocages - Master 2ITIC - UFR S.A
Page 45: Interblocages - Master 2ITIC - UFR S.A
Page 46: Interblocages - Master 2ITIC - UFR S.A
Page 47: Interblocages - Master 2ITIC - UFR S.A
Page 48: Interblocages - Master 2ITIC - UFR S.A
Page 49: Interblocages - Master 2ITIC - UFR S.A
Page 50: Interblocages - Master 2ITIC - UFR S.A
Page 51: Interblocages - Master 2ITIC - UFR S.A
Page 52: Interblocages - Master 2ITIC - UFR S.A
Page 53: Interblocages - Master 2ITIC - UFR S.A
Page 54: Interblocages - Master 2ITIC - UFR S.A
Page 55: Interblocages - Master 2ITIC - UFR S.A
Page 56: Interblocages - Master 2ITIC - UFR S.A
Page 57: Interblocages - Master 2ITIC - UFR S.A
Page 58: Interblocages - Master 2ITIC - UFR S.A
Page 59: Interblocages - Master 2ITIC - UFR S.A
Page 60: Interblocages - Master 2ITIC - UFR S.A
Page 61: Interblocages - Master 2ITIC - UFR S.A
Page 62: Interblocages - Master 2ITIC - UFR S.A
Page 63: Interblocages - Master 2ITIC - UFR S.A
Page 64: Interblocages - Master 2ITIC - UFR S.A
Page 65: Interblocages - Master 2ITIC - UFR S.A
Page 66: Interblocages - Master 2ITIC - UFR S.A
Page 67: Interblocages - Master 2ITIC - UFR S.A
Page 68: Interblocages - Master 2ITIC - UFR S.A
Page 69: Interblocages - Master 2ITIC - UFR S.A
Page 70: Interblocages - Master 2ITIC - UFR S.A
Page 71: Interblocages - Master 2ITIC - UFR S.A
Page 72: Interblocages - Master 2ITIC - UFR S.A
Page 73: Interblocages - Master 2ITIC - UFR S.A
Page 74: Interblocages - Master 2ITIC - UFR S.A
Page 75: Interblocages - Master 2ITIC - UFR S.A
Page 76: Interblocages - Master 2ITIC - UFR S.A
Page 77: Interblocages - Master 2ITIC - UFR S.A