jueves, 22 de noviembre de 2012

Disciplinas de Interbloque

Definición y tratamiento de interbloqueo

Conjunto de procesos tal que cada uno está esperando un recurso
que sólo puede liberar otro proceso del conjunto.

Tratamiento del interbloqueo.

•
Detección y recuperación: Se detecta y se recupera
Coste de algoritmo + pérdida del trabajo realizado.

•
Prevención: Asegura que no ocurre fijando reglas
Infrautilización de rec. se deben pedir antes de necesitarlos.

•
Predicción: Asegura que no ocurre basándose en
conocimiento de necesidades futuras de los procesos
*Dificultad de conocer futuro
*Coste de algoritmo + Infrautilización de recursos

•
Ignorar el problema:Utilizada por la mayoría de los SS.OO.
Detección del interbloqueo
Algoritmo que comprueba si se cumplen condiciones de interbl.

Condiciones necesarias pero no suficientes (Coffman):
•
Exclusión mutua.
•
Retención y espera.
•
Sin expropiación.
•
Espera circular.


Si restricciones (1 unid/rec), cond. son necesarias y suficientes:
•
Ejemplo 2: Ciclo en grafo → espera circular → interbloqueo
•
Ejemplo 1: Ciclo en grafo → espera circular → No interbloq.
•
Ejemplo 3: Ciclo en grafo → espera circular → interbloq.

○ Se necesita condición necesaria y suficiente para sist. general
Condición necesaria y suficiente
Proceso no bloqueado debería devolver recursos en el futuro:
•
Recursos liberados desbloquearían otros procesos...

Reducción (Red) del sistema por proceso P
•
Si se pueden satisfacer necesidades de P con r. disponibles
•
Nuevo estado hipotético donde P ha liberado todos sus rec.

Condición necesaria y suficiente:
•
∃ secuencia de Red desde estado actual ⊂ todos los procesos• Si no: procesos ⊄ están en interbloqueo

No hay comentarios:

Publicar un comentario