1
Interblocages
Chapitre 3
3.1. Ressources
3.2. Introduction aux interblocages
3.3. La politique de l'autruche
3.4. Détection des interblocages et reprise
3.5. L'évitement des interblocages
3.6. La prévention des interblocages
3.7. Autres considérations
2
Ressources
Exemples de ressources
imprimantes
lecteurs de rubans
fichiers
tables internes du système
L'ordre dans lequel les ressources sont attribuées est
important
Supposons qu'un processus possède une ressource A et
demande une ressource B
au même moment un autre processus possède B et demande A
les deux sont bloqués de façon permanente
3
Ressources (1)
Un interblocage peut se produire lorsque…
les processus se voient attribuer un accès exclusif à des
ressources.
Ressources retirables (préemptibles)
peuvent être retirées d'un processus sans effet négatif
ex. mémoire
Ressources non retirables (non préemptibles)
peuvent causer des problèmes si retirées du processus
ex. graveur de CD
En général les interblocages impliquent des ressources
non retirables.
4
Ressources (2)
Séquence d'événements nécessaires pour
utiliser une ressource:
1. Solicitation de la ressource
2. Utilisation de la ressource
3. Libération de la ressource
Doit attendre si l'accès est refusé:
le processus peut alors être bloqué
ou un code d'erreur est retourné
5
Ressources (3)
Figure 3.1 : Utiliser un sémaphore pour protéger les ressources.
(a) Une ressource. (b) Deux ressources
typedef int semaphore; typedef int semaphore;
semaphore resource_1; semaphore resource_1;
semaphore resource_2;
void process_A(void){ void process_A(void) {
down(&resource_1); down(&resource_1);
use_resource_1( ); down(&resource_2);
up(&resource_1); use_both_resources( );
} up(&resource_2);
up(&resource_1);
}
(a) (b)
1 / 35 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !