El bloqueo mutuo también conocido
como interbloqueo, traba mortal, deadlock, abrazo mortal es el bloque de un
grupo de procesos o hilos que compiten por la asignación de un recurso. Estos
bloqueos surgen de necesidades que no pueden ser satisfechas, por parte de dos
o más procesos.
Este bloqueo se puede representar
mediante grafos dirigidos, donde el proceso es representado por un cuadrado y
el recurso, mediante un círculo. Cuando el proceso solicita un recurso, una
fecha es dirigida del círculo al cuadrado, cuando un recurso es asignado a un
proceso, una fecha es dirigida del cuadrado al círculo, tal y como lo podemos
apreciar en la imagen.

Los bloqueos mutuos pueden ser
evitados si se sabe cierta información sobre los procesos antes de la
asignación de recursos. Para cada petición de recursos, el sistema controla si
satisfaciendo el pedido entra en un estado inseguro, donde puede producirse un
bloqueo mutuo. De esta forma, el sistema satisface los pedidos de recurso
solamente si se asegura que quedará en un estado seguro.
Existen varios algoritmos para
evitar estos bloqueos como lo son:
- Algoritmo de banquero
- Algoritmo de grafo de asignación de recursos
- Algoritmo de seguridad
- Algoritmo de solicitud de recursos
0 comentarios:
Publicar un comentario