Interbloqueo y sus condiciones

Según Coffman, para que se pueda producir un interbloqueo se tienen que dar las siguientes cuatro condiciones:

  • Exclusión mutua: cada recurso está asignado a un único proceso de manera exclusiva.
  • Retención y espera: los procesos que tienen, en un momento dado, recursos asignados con anterioridad, pueden solicitar nuevos recursos y esperar a que se le asignen sin liberar antes alguno de los recursos que ya tenía asignados.
  • No apropiación: los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso. El proceso que los posee debe liberarlos en forma explícita. Ni siquiera el sistema operativo puede expropiárselo.
  • Espera circular: debe existir una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro de la cadena. Esta condición es una consecuencia potencial de las tres primeras, es decir, dado que se producen las tres primeras condiciones, puede ocurrir una secuencia de eventos que desemboque en un círculo vicioso de espera irresoluble.

Las tres primeras condiciones son necesarias, pero no suficientes para que exista interbloqueo. Sólo las cuatro condiciones en conjunto constituyen una condición necesaria y suficiente para el interbloqueo.

Estrategias


Existen diversas estrategias frente a los interbloqueos, que se pueden agrupar en:


  • Omisión
  • Detección y recuperación
  • Prevención
  • Predicción



0 comentarios:

Publicar un comentario