Detección y recuperación de puntos muertos

 

En la publicación anterior, hemos discutido la prevención y evitación de interbloqueos . En esta publicación, se analiza la técnica de detección y recuperación de interbloqueos para manejar los interbloqueos. 

Detección de interbloqueo: 

 1. Si los recursos tienen una sola instancia:
en este caso, para la detección de interbloqueos, podemos ejecutar un algoritmo para verificar el ciclo en el gráfico de asignación de recursos. La presencia de un ciclo en el gráfico es una condición suficiente para el punto muerto. 
 

2. En el diagrama anterior, el recurso 1 y el recurso 2 tienen instancias únicas. Hay un ciclo R1 → P1 → R2 → P2. Entonces, Deadlock está confirmado. 
 

3. Si hay varias instancias de recursos:
la detección del ciclo es una condición necesaria pero no suficiente para la detección de interbloqueos; en este caso, el sistema puede o no estar en interbloqueos y varía según las diferentes situaciones.

Recuperación de interbloqueo: 
un sistema operativo tradicional como Windows no se ocupa de la recuperación de interbloqueo, ya que es un proceso que consume tiempo y espacio. Los sistemas operativos en tiempo real utilizan la recuperación de Deadlock. 

  1. Matar el proceso:
    Matar todos los procesos involucrados en el interbloqueo. Proceso de matanza uno por uno. Después de eliminar cada proceso, vuelva a verificar el punto muerto y siga repitiendo el proceso hasta que el sistema se recupere del punto muerto. Matar todos los procesos uno por uno ayuda a un sistema a romper la condición de espera circular.
  2. Apropiación de recursos:
    los recursos se apropian de los procesos involucrados en el interbloqueo, los recursos apropiados se asignan a otros procesos para que exista la posibilidad de recuperar el sistema del interbloqueo. En este caso, el sistema entra en inanición.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *