Algorithme du banquier dans le système d'exploitation [Exemple]

Qu’est-ce que l’algorithme du banquier ?

Algorithme du banquier est principalement utilisé dans le système bancaire pour éviter deadlock. 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.neousuellement.

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

Need

Exprimez combien de ressources supplémentaires peuvent être allouées à l’avenir

Exemple d'algorithme de Banker

Supposons que nous ayons la suitewing Ressources:

  • 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 Need=(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 le suivantwing étapes:

É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. Autrewise, 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 deadlock. 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.