DISCIPLINAS DE INTERBLOQUEO
Conjunto de procesos tal que cada uno está esperando un recurso que sólo puede liberar otro proceso del conjunto.
- 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 x
No hay comentarios:
Publicar un comentario