Qu'est-ce que l'algorithme du banquier?
L'algorithme du banquier est principalement utilisé dans le système bancaire pour éviter les blocages. Il vous aide à identifier 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 la quantité maximale 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 nombre de titulaires de compte d'une banque spécifique, et le montant total d'argent 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 du montant total (G + Dépôt fixe + 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 crédit auto que lorsque la banque dispose de suffisamment d'argent même si tous les titulaires de compte retirent l'argent G simultanément.
Dans ce didacticiel sur le système d'exploitation, vous apprendrez:
- Qu'est-ce que l'algorithme du banquier?
- Notations d'algorithme de banquier
- Exemple d'algorithme de Banker
- Caractéristiques de l'algorithme du banquier
- Inconvénient de l'algorithme de Banker
Notations d'algorithme de 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 processus i
Allocation
[l: X, l: Y]. Indiquez où processus vous avez reçu une ressource de type j
Avoir besoin
Exprimer 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 scanners
- 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 nécessaire 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 ressource
L'algorithme de demande de ressource vous permet de représenter le comportement du système lorsqu'un processus spécifique effectue une demande de ressource.
Comprenez-le en suivant 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. Sinon, 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. Pour qu'il y ait 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:
- Conservez de nombreuses ressources qui répondent aux exigences d'au moins un client
- Chaque fois qu'un processus obtient toutes ses ressources, il doit les restituer dans un délai limité.
- Lorsqu'un processus demande une ressource, il doit attendre
- Le système dispose d'un nombre limité de ressources
- Fonction 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 maximal pendant le traitement
- Il permet à toutes les demandes d'être accordées dans un temps limité, mais un an est une période fixe pour cela.
- Tous les processus doivent connaître et indiquer à l'avance leurs besoins en ressources maximales.
Résumé:
- L'algorithme du banquier est principalement utilisé dans le système bancaire pour éviter les impasses. Il vous aide à identifier si un prêt sera accordé ou non.
- Les notations utilisées dans les algorithmes des banquiers sont 1) Disponible 2) Max 3) Allocation 4) Besoin
- L'algorithme de demande de ressource vous permet de représenter le comportement du système lorsqu'un processus spécifique effectue une demande de ressource.
- L'algorithme du banquier conserve de nombreuses ressources qui satisfont l'exigence 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 maximal pendant le traitement.