Next: Evitar
Up: Bloqueo
Previous: Bloqueo
Se implementa un proceso adicional que vigila si los demás forman
una cadena circular.
Más precisamente, se define el grafo de asignación de recursos:
- Los procesos y los recursos representan los nodos de un grafo.
- Se añade cada vez una arista entre un nodo tipo recurso y un nodo
tipo proceso cuando el proceso ha obtenido acceso exclusivo al recurso.
- Se añade cada vez una arista entre un nodo tipo recurso y un nodo
tipo proceso cuando el proceso está pidiendo acceso exclusivo al recurso.
- Se eliminan las aristas entre proceso y recurso y al revés cuando
el proceso ya no usa el recurso.
Cuando se detecta en el grafo resultante un ciclo, es decir, cuando
ya no forma un grafo acíclico, se ha producido una posible situación
de un bloqueo.
Se puede reaccionar de dos maneras si se ha encontrado un ciclo:
- No se da permiso al último proceso de obtener el recurso.
- Sí se da permiso, pero una vez detectado el ciclo se aborta
todos o algunos de los procesos involucrados.
Sin embargo, la técnica puede dar como resultado que el programa
no avance, es decir, el programa se queda atrapado haciendo
trabajo inútil: crear
situaciones de bloqueo y abortar procesos continuamente.
Next: Evitar
Up: Bloqueo
Previous: Bloqueo
© 2003, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática