Sie sind auf Seite 1von 2

Rpublique Tunisienne Ministere de leducation et de la formation

Section : Sciences de linformatique Epreuve thorique 3 Matire : Algorithmique et programmation Niveau : 4me anne Prof : Anis AMMAR Date : 02 / 05 / 2010 Dure : 1.5 heure

***

Lyce Marsa Erriadh 2009 / 2010

Un interblocage (deadlock en anglais) est un phnomne qui peut survenir dans les systmes dexploitation. L'interblocage se produit lorsque deux processus concurrents s'attendent mutuellement pour avoir les ressources ncessaires pour sexcutent. Les interblocages peuvent tres vits si certaines informations sont connues l'avance lors des allocations de ressources. Pour chaque allocation de ressources, le systme regarde s'il va entrer dans un tat non-sr , c'est--dire un tat qui pourrait engendrer un interblocage. Le systme ne rpond favorablement qu'aux requtes qui mnent des tats srs . Pour tre capable de dcider si l'tat suivant sera sr ou non-sr, le systme a besoin de connatre tout moment le nombre et le type de ressources disponibles et demandes. Un algorithme classique permettant la dtection des interblocages l'avance est l'Algorithme du Banquier. Celui-ci ncessite de connatre l'avance les limites d'utilisation des ressources. Considrons les deux tableaux suivants qui rsument l'tat d'un ordinateur l'instant t : tat l'instant t d'un ordinateur : ressources actuellement attribues et ressources demandes, pour quatre ressources (R1 R4) et quatre processus (P1 P4) Processus P1 P2 P3 P4 R1 3 0 1 1 Ressources alloues R2 R3 0 1 1 0 1 1 1 0 R4 1 0 0 1 R1 1 0 3 0 R4 0 Ressources demandes R2 R3 R4 1 0 0 1 1 2 1 0 0 0 1 0

Ressources disponibles R1 R2 R3 dispo 1 0 2

4 processus sont actifs (P1, P2, P3, P4) et il existe 4 catgories de priphriques R1 R4. Le tableau de gauche donne les ressources dj alloues et le tableau de droite les ressources qui seront encore demandes pour achever (terminer) l'excution. Un tat est dit sr s'il existe une suite d'tats ultrieurs qui permette tous les processus d'obtenir toutes leurs ressources et de se terminer. L'algorithme suivant dtermine si un tat est sr : 1) Trouver dans le tableau de droite une ligne L dont les ressources demandes sont toutes infrieures celles de dispo ( (L,Ci) dispoi, pour tout i). S'il n'existe pas L vrifiant cette condition, il y a interblocage. 2) Supposer que le processus associ L obtient les ressources et se termine. Marquer sa ligne et actualiser dispo (on ajoute chaque ressource ses portions alloues et demandes). 3) Rpter 1 et 2 jusqu' ce que tous les processus soient termins (l'tat initial tait donc sr) ou jusqu' un interblocage (l'tat initial n'tait pas sr) Dans cet exemple, l'tat actuel est sr car : 1) On allouera P4 les ressources demandes et il s'achvera (terminera) 2) Puis on allouera P1 les ressources demandes et P1 s'achvera 3) enfin les autres.

Travail demand : On vous demande dcrire lalgorithme du Banquier qui ralise les tapes dcrites prcdemment avec 4 processus et 4 ressources et enfin affiche si un tat donn sr ou non-sr. N.B : Les deux tableaux dallocation et de demande des ressources seront remplis alatoirement par des entiers positives infrieurs ou gales 6. Le tableau des ressources disponibles sera rempli alatoirement par des entiers entre 1 et 10.

Das könnte Ihnen auch gefallen