Algorithme du banquier dans Operasystème de configuration [Exemple]
⚡ Résumé intelligent
L'algorithme du banquier est une méthode d'évitement des interblocages qui vérifie si l'allocation de ressources maintient le système dans un état sûr. Tirant son nom du secteur bancaire, il n'accorde une requête que s'il reste suffisamment de ressources pour satisfaire tous les processus.
Qu’est-ce que l’algorithme du banquier ?
Algorithme du banquier est principalement utilisé dans le système bancaire pour éviter impasse. Il vous aide à déterminer si un prêt sera accordé ou non.
Cet algorithme est utilisé pour tester la simulation en toute sécurité de l'allocation afin de déterminer le montant maximum disponible pour toutes les ressources. Il vérifie également toutes les activités possibles avant de déterminer si l'allocation doit être poursuivie ou non.
Par exemple, il y a X titulaires de comptes dans une banque spécifique, et le montant total d'argent sur leurs comptes est G.
Lorsque la banque traite une demande de prêt automobile, le système informatique sous-tendtracIl s'agit du montant du prêt accordé pour l'achat d'une voiture sur le total des fonds (G + dépôt à terme + régime de revenu mensuel + or, etc.) dont dispose la banque.
Elle n'accorde le prêt automobile que si le solde restant est supérieur à G, de sorte que tous les titulaires de compte peuvent retirer G à tout moment.
Notations d'algorithme du banquier
Voici quelques notations importantes utilisées dans l'algorithme du banquier :
- X : Indique le nombre total de processus dans le système.
- Y : Indique le nombre total de ressources présentes dans le système.
Disponible
[1:Y] indique le nombre d'instances disponibles pour chaque type de ressource.
Max
[1:X, 1:Y] : Exprime le nombre maximal de ressources de type j que le processus i peut demander.
Allocation
[1:X, 1:Y] : Indique les ressources de type j actuellement allouées au processus i.
Besoin
Indique combien de ressources supplémentaires de chaque type de processus i ont encore besoin pour accomplir sa tâche.
Exemple d'algorithme de Banker
Supposons que nous disposions des ressources suivantes :
- 5 clés USB
- 2 imprimantes
- 4 numériseurs
- 3 disques durs
Ici, nous avons créé un vecteur représentant les ressources totales : Disponible = (5, 2, 4, 3).
Supposons qu'il existe quatre processus. Les ressources disponibles sont déjà allouées selon le tableau matriciel ci-dessous.
| Nom du processus | Lecteurs de stylo | Imprimante | Scanner | disque dur |
|---|---|---|---|---|
| P | 2 | 0 | 1 | 1 |
| Q | 0 | 1 | 0 | 0 |
| R | 1 | 0 | 1 | 1 |
| S | 1 | 1 | 0 | 1 |
| Total | 4 | 2 | 2 | 3 |
Ici, les ressources allouées correspondent au total de ces colonnes :
Alloué = (4, 2, 2, 3).
Nous créons également une matrice pour afficher le nombre de chaque ressource requise pour tous les processus. Cette matrice est appelée Besoin = (3, 0, 2, 2).
| Nom du processus | Lecteurs de stylo | Imprimante | Scanner | disque dur |
|---|---|---|---|---|
| P | 1 | 1 | 0 | 0 |
| Q | 0 | 1 | 1 | 2 |
| R | 2 | 1 | 0 | 0 |
| S | 0 | 0 | 1 | 0 |
Le vecteur disponible sera :
Disponible = Disponible – Alloué
= (5, 2, 4, 3) – (4, 2, 2, 3)
= (1, 0, 2, 0)
Algorithme de demande de ressources
L'algorithme de requête de ressources vous permet de représenter le comportement du système lorsqu'un processus spécifique effectue une requête de ressources.
Pour comprendre cela, suivons les étapes suivantes :
Étape 1) Lorsque le nombre total d'instances demandées pour toutes les ressources est inférieur à la capacité du processus, passez à l'étape 2.
Étape 2) Lorsque le nombre d'instances demandées pour chaque type de ressource est inférieur aux ressources disponibles, le traitement passe à l'étape suivante. Dans le cas contraire, il est mis en attente faute de ressources suffisantes.
Étape 3) La ressource est allouée comme indiqué dans le pseudocode ci-dessous.
Available = Available – Request (y) Allocation(x) = Allocation(x) + Request(x) Need(x) = Need(x) - Request(x)
Cette dernière étape est effectuée car le système doit supposer que les ressources ont été allouées, de sorte qu'il y a moins de ressources disponibles après l'allocation.
Caractéristiques de l'algorithme du banquier
Voici les caractéristiques importantes de l'algorithme du banquier :
- Elle conserve de nombreuses ressources qui satisfont aux exigences d'au moins un client.
- Chaque fois qu'un processus récupère toutes ses ressources, il doit les restituer dans un délai restreint.
- Lorsqu'un processus demande une ressource, il peut être amené à attendre.
- Le système dispose de ressources limitées.
- Elle offre une fonctionnalité avancée pour une allocation maximale des ressources.
Inconvénient de l'algorithme de Banker
Voici les inconvénients de l'utilisation de l'algorithme du banquier :
- Il ne permet pas au processus de modifier son besoin maximal pendant le traitement.
- Elle permet d'accorder toutes les demandes dans un délai limité, mais ce délai est fixé à un an.
- Tous les processus doivent connaître et indiquer à l’avance leurs besoins maximaux en ressources.

