12.07.2015 Views

Chapitre 7 Interblocages - Cours

Chapitre 7 Interblocages - Cours

Chapitre 7 Interblocages - Cours

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

£¡¡2 CHAPITRE 7. INTERBLOCAGES– D’usage partagé : Est-ce que la ressource peut être utilisée par plusieursprocessus en même temps ? Les ressources partagées n’affectentpas les interblocages.– Avec un ou multiples exemplaires : Existent-ils de multiples exemplairesd’une même ressource ?– Preémptible ou non preémptible : Est-ce qu’on a le droit de retirerune ressource quand elle est utilisée par un processus ?La différence principale entre ressources préemptibles et non préemptiblesest que les premières peuvent être retirées sans risque au processusqui les détient, tandis que les deuxièmes ne peuvent être retirées sans provoquerdes problèmes. Comme exemples de ressources preémptibles nousavons le processeur (où le changement de contexte correspond à l’expropriationet l’état du processeur est copié à la Table de Contrôle de Processus(BCP)) et la mémoire virtuelle (le remplacement est une expropriationet le contenu de la page doit être copié au swap). Les imprimantes et lesscanners sont des exemples de ressources non preémptibles. Pour étudierle problème des interblocages, nous allons considérer uniquement les ressourcesnon préemptibles.7.2 Définition d’un interblocageDes problèmes peuvent survenir, lorsque les processus obtiennent desaccès exclusifs aux ressources. Par exemple, un processus détient uneressource ¢¡ et attend une autre ressource £¥¤ qui est utilisée par un autre£processus ¤ ; le processus ¤ détient la ressource £¦¤ et attend la ressource. On a une situation d’interblocage (deadlock en anglais) car ¢¡ attendet attend . Les deux processus vont attendre indéfiniment comme¤ ¤montré sur la figure 7.1.En général, un ensemble de processus est en interblocage si chaque processusattend la libération d’une ressource qui est allouée à un autre pro-§¡cessus de l’ensemble. Comme tous les processus sont en attente, aucun nepourra s’exécuter et donc libérer les ressources demandées par les autres.Ils attendront tous indéfiniment.¨Exemple 1. <strong>Interblocages</strong>.Accès aux périphériques. Supposons que deux processus A et B veulentimprimer, en utilisant la même imprimante, un fichier stocké sur unebande magnétique. La taille de ce fichier est supérieure à la capacitédu disque. Chaque processus a besoin d’un accès exclusif au dérou-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!