Algorithme du banquier dans Operasystème de configuration [Exemple]
Qu’est-ce que l’algorithme du banquier ?
Algorithme du banquier est principalement utilisé dans le système bancaire pour éviter les impasses. 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 existe un nombre X de titulaires de comptes dans une banque spécifique et le montant total de leurs comptes est G.
Lorsque la banque traite un prêt automobile, le système logiciel soustrait le montant du prêt accordé pour l'achat d'une voiture de l'argent total (G+ Dépôt fixe + Programme de revenu mensuel + Or, etc.) dont dispose la banque.
Il vérifie également que la différence est supérieure ou non à G. Il ne traite le prêt automobile que lorsque la banque dispose de suffisamment d'argent, même si tous les titulaires du compte retirent l'argent G simultanément.
Notations d'algorithme du banquier
Voici une notation importante utilisée dans l'algorithme de Banker :
- X : Indique le nombre total de processus du système.
- Y : Indique le nombre total de ressources présentes dans le système.
Disponible
[I: Y] indique quelle ressource est disponible.
Max
[l:X,l:Y] : Expression du nombre maximum de ressources de type j ou de processus i
Allocation
[l:X, l:Y]. Indiquez où processus vous avez reçu une ressource de type j
Besoin
Exprimez combien de ressources supplémentaires peuvent être allouées à l’avenir
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 sont le 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 demande de ressources vous permet de représenter le comportement du système lorsqu'un processus spécifique effectue une demande de ressources.
Comprenons cela par les étapes suivantes :
Étape 1) Lorsqu’une instance totale demandée de toutes les ressources est inférieure au processus, passez à l’étape 2.
Étape 2) Lorsqu'une instance demandée de chaque type de ressource est inférieure aux ressources disponibles de chaque type, elle sera traitée à l'étape suivante. Dans le cas contraire, le processus nécessite d'attendre en raison de l'indisponibilité 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 devrait y avoir moins de ressources disponibles après allocation.
Caractéristiques de l'algorithme du banquier
Voici les caractéristiques importantes de l’algorithme du banquier :
- Conserver 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 doit attendre
- Le système dispose d'un nombre limité de ressources
- Fonctionnalité avancée pour une allocation maximale des ressources
Inconvénient de l'algorithme de Banker
Voici les inconvénients/inconvénients de l'utilisation de l'algorithme du banquier
- Ne permet pas au processus de modifier son besoin maximum pendant le traitement
- Il permet que toutes les demandes soient accordées dans un délai limité, mais un an est un délai fixe pour cela.
- Tous les processus doivent connaître et indiquer à l’avance leurs besoins maximaux en ressources.
Résumé
- L'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.
- Les notations utilisées dans les algorithmes bancaires sont 1) Disponible 2) Max 3) Allocation 4) Besoin
- L'algorithme de demande de ressources vous permet de représenter le comportement du système lorsqu'un processus spécifique effectue une demande de ressources.
- L'algorithme du banquier conserve de nombreuses ressources qui satisfont aux exigences d'au moins un client
- Le plus gros inconvénient de l'algorithme du banquier est qu'il ne permet pas au processus de modifier son besoin maximum pendant le traitement.