Claudie
La prévention des blocages signifie que les choses (étapes) que nous devons faire pour éviter les blocages. Il y a quatre conditions qui provoquent un blocage. Si nous gérons ces situations ou si nous obtenons une solution pour résoudre toutes ces conditions (exclusion mutuelle, attente et attente, aucune préemption, attente circulaire), nous pouvons alors empêcher l'apparition d'un blocage.
* Exclusion mutuelle : cette condition se produit lorsque plusieurs processus tentent d'accéder à une ressource non partageable.
Par exemple, un seul utilisateur peut utiliser une imprimante à la fois et si plusieurs utilisateurs tentent d'y accéder, un blocage peut se produire. Mais d'un autre côté, si de nombreux utilisateurs accèdent à un fichier en lecture seule à la fois, ils peuvent y accéder sans générer de condition de blocage car le fichier en lecture seule est une ressource partageable.
* Hold and Wait : Nous pouvons éviter cette condition en utilisant une méthode appropriée. Comme si nous rendions possible qu'un processus ne puisse pas accéder à deux ressources à la fois, nous pouvons éviter cette condition.
* Pas de préemption : une ressource ne sera pas immédiatement disponible pour un processus si ce processus détient déjà une ressource.
De même, nous pouvons vérifier si une ressource est disponible et si elle est disponible, nous pouvons l'allouer à ce processus.
* Attente circulaire : Nous pouvons utiliser une méthode pour éviter cette condition. Dans cette méthode, nous attribuons un numéro aux ressources ainsi qu'aux processus. Par exemple, s'il y a dix processus dans la file d'attente qui veulent conserver la ressource numéro 7, le processus avec le nombre entier 1 peut l'utiliser car c'était le premier processus qui voulait accéder à la ressource numéro 7 et a été entré dans la file d'attente.
Ophélie
La méthode de prévention des blocages du système garantit que les blocages ne seront jamais générés dans votre système.Parce que dans cette situation, nous avons un système de telle sorte que l'une des quatre conditions de garantie générant des blocages satisfasse, ce qui peut être une exclusion mutuelle ou peut être en attente et en attente ou peut être une attente circulaire ou peut-être pas de préemption. Ainsi, nous pouvons empêcher notre système d'un problème de blocage à l'avance en construisant notre système de manière à ce que le blocage ne se produise jamais dans notre système pour toujours avant que le blocage ne se produise. le blocage n'est qu'un problème comme les embouteillages en cas de traitement simultané, où 2 processus concurrents simultanés attendent une seule ressource partagée en même temps pour accéder à la ressource mais aucun processus ne l'obtient et personne ne peut terminer son travail, cette situation critique est appelée impasse.
Keyshawn
Les méthodes de prévention des interblocages garantissent que les interblocages ne peuvent pas se produire en premier lieu. Ainsi, le gestionnaire de transactions vérifie une transaction lorsqu'elle est initiée pour la première fois et ne lui permet pas de la précéder peut provoquer un blocage. Pour effectuer ce contrôle, il est nécessaire que toutes les données qui seront accédées, par une transaction, soient prédéclarées. Le gestionnaire de transactions permet alors de prédéclarer une transaction. Le gestionnaire de transactions autorise alors la poursuite d'une transaction si tous les éléments de données auxquels il accédera sont disponibles. Dans le cas contraire, la transaction n'est pas autorisée à se poursuivre. Le gestionnaire de transactions réserve toutes les données prédéclarées par une transaction qu'il autorise à procéder.
Malheureusement, de tels systèmes ne sont pas très adaptés aux environnements de bases de données. Le problème fondamental est qu'il est généralement difficile de savoir précisément à quels éléments de données une transaction accédera. L'accès à certains éléments de données peut dépendre d'une condition qui peut ne pas être résolue avant l'exécution. Pour être sûr, le système doit être choisi en un maximum de temps. Même s'ils finissent par ne pas être accessibles, cela réduirait certainement la simultanéité. De plus, il y a une surcharge supplémentaire pour évaluer si une transaction peut se dérouler en toute sécurité. D'un autre côté, de tels systèmes ne nécessitent pas de support d'exécution.