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.

  • (I.e. Objectif : Il évite les blocages en vérifiant que l'allocation des ressources garantit la sécurité du système.
  • (I.e. Quatre matrices : Disponible, maximum, allocation et besoin tracUtilisation des ressources k.
  • 🧮 État sûr : Une requête n'est acceptée que si tous les processus peuvent encore être menés à terme.
  • 📋 Exigence: Chaque processus doit déclarer à l'avance ses besoins maximaux en ressources.
  • Avantage: Garantit que les ressources satisfont au moins un client à tout moment.
  • ⚠️ Inconvénient: Les processus ne peuvent pas modifier leurs besoins maximums pendant leur exécution.

L'algorithme du banquier dans Operating système

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.

FAQ

Un état sûr est un état dans lequel au moins un ordre d'exécution permet à chaque processus d'obtenir ses ressources maximales et de se terminer. En l'absence d'un tel ordre, l'état est non sûr et peut mener à un blocage.

La prévention des interblocages élimine par avance une condition nécessaire à leur survenue. L'évitement des interblocages, à l'instar de l'algorithme du banquier, autorise ces conditions mais vérifie chaque requête afin de garantir la sécurité du système.

Son nom s'inspire de la manière dont une banque gère ses prêts. Une banque ne prête de l'argent que si elle est toujours en mesure de satisfaire tous ses clients. De même, l'algorithme n'accorde des ressources que si tous les processus peuvent être menés à bien en toute sécurité.

L'IA peut prédire la demande en ressources et détecter les schémas d'allocation risqués avant qu'ils ne provoquent un blocage. Elle peut suggérer les requêtes à reporter, complétant ainsi l'algorithme du banquier dans les systèmes complexes où les besoins maximaux sont difficiles à prévoir.

Pas entièrement. L'algorithme du banquier garantit un résultat sûr lorsque les besoins maximaux sont connus. L'IA peut améliorer la prédiction et l'efficacité, mais elle fonctionne mieux en complément, et non en remplacement total.

Résumez cet article avec :