Title: fwafa
1- Detección
- de
- Interbloqueos
2Detección de interbloqueo
- Permite al sistema entrar en un estado de
Interbloqueo. - Se requiere de un algoritmo de detección.
- Se requiere de un algoritmo ó estrategia para
recuperarse del interbloqueo. - Éstas estrategias tienen costos significativos
asociados - Tiempo de Ejecución.
- Mantenimiento de la información necesaria y la
ejecución del algoritmo de detección. - Pérdidas inherentes al proceso de recuperación.
3Detección de interbloqueo
- Una sola instancia por recurso.
- Grafo de espera.
- Se obtiene a partir del grafo de asignación de
recursos eliminando los nodos de recursos y
colapsando las correspondientes aristas. - Los nodos son procesos.
- Pi ? Pj si Pi está esperando a que Pj libere
un recurso. - En el grafo de espera existirá una arista Pi ? Pj
si y solo si en el correspondiente grafo de
asignación de recursos contiene dos aristas Pi ?
Rq, y Rq ? Pj para algún Rq.
4Detección de interbloqueo
- Periódicamente se invoca a un algoritmo que
comprueba si existe un ciclo en el grafo. - Si hay un ciclo, entonces hay un interbloqueo.
- Este algoritmo para detectar un ciclo en un grafo
requiere del orden de n2 operaciones, donde n es
el numero de vértices en el grafo.
5Detección de interbloqueo
Grafo de espera correspondiente
Grafo de asignación de recursos
6Detección de interbloqueo
- Si existe más de una instancia por recurso.
- Algoritmo de detección de interbloqueo.
- Se utilizan varias estructuras de datos variables
en el tiempo similares a las definidas en el
algoritmo del banquero. - Available Un vector de longitud m indica el
número de recursos disponibles de cada tipo. - Allocation Una matriz n x m define el numero de
cada tipo de recurso que están asignados
actualmente a cada proceso. - Request Una matriz n x m que indica la
solicitud actual de cada proceso. Si Request ij
k, entonces Pi está solicitando k instancias
más del tipo de recurso Rj.
7Algoritmo de detección de interbloqueo
8Algoritmo de detección de interbloqueo
9Detección de interbloqueo
- Esté Algoritmo requiere del orden de m x n2
operaciones para detectar si el sistema se
encuentra en un estado de interbloqueo.
10Uso del Algoritmo de Detección
- Cuándo y qué frecuente debe invocarse depende
de - Qué frecuente es probable que ocurra un
- interbloqueo?
- Cuántos procesos serán afectados cuando ocurra
- un interbloqueo?
-
11Uso del Algoritmo de Detección
- Un aspecto importante es la frecuencia con la que
se debe ejecutar el algoritmo de detección de
interbloqueos, que suele ser un parámetro del
sistema. - Una posibilidad extrema es comprobar el estado
cada vez que se solicita un recurso y éste no
puede ser asignado. - Otra alternativa es activar el algoritmo
ocasionalmente, a intervalos regulares o cuando
uno o más procesos queden bloqueados durante un
tiempo sospechosamente largo.
Inconveniente Tiempo de CPU que se utiliza
12Uso del Algoritmo de Detección
- Si el algoritmo de detección es invocado
arbitrariamente, puede haber muchos ciclos en el
grafo de recursos y no se puede decir cual de los
muchos procesos interbloqueados causó el
interbloqueo.
13Uso del Algoritmo de Detección
VENTAJAS
DESVENTAJAS
Descubrir con prontitud los interbloqueos Liberación rápida de recursos Consumir mucho tº de CPU
Consumir poco tº de CPU Peligro de dejar el proceso mucho tº interbloqueado Empobrecimiento en la utilización de recursos
F ?
F ?