1. Concepto de
Interbloqueo
(Deadlock)
Definicion
Un interbloqueo (deadlock) es una
situación en la que dos o más procesos o
hilos de ejecución quedan atrapados en un
estado en el que cada uno está esperando
a que el otro libere un recurso necesario
para continuar. Esto puede resultar en una
parálisis del sistema.
Caracteristicas
**Recursos compartidos:** Los procesos
compiten por el acceso a recursos
compartidos, como impresoras, bases de
datos o memoria. Cada proceso necesita un
recurso que otro proceso ya ha adquirido.
**Espera circular:** Existe un ciclo de
espera entre los procesos, lo que significa
que el proceso A está esperando algo que
posee el proceso B, y el proceso B a su vez
está esperando algo que posee el proceso
C, y así sucesivamente.
**No hay liberacion de recursos:** Los
procesos no liberan los recursos que ya
tienen, lo que dificulta la finalización de
otros procesos.
Deteccion de Interbloqueo
Cuadro Sinòptico
Algoritmos
**Algoritmo del banquero:** Este algoritmo
simula la asignación de recursos a procesos
y verifica si es seguro continuar. Si no es
seguro, evita la asignación para prevenir el
interbloqueo.
**Grafico de asignacion de recursos:** Se
representa la asignación de recursos y las
relaciones de espera en un gráfico, y se
busca la presencia de ciclos en el grafo
para detectar el interbloqueo.
Prevencion de Interbloqueo
Metodos
**Asignacion ordenada de recursos:**
Establece un orden en la asignación de
recursos para evitar la espera circular. Por
ejemplo, se puede requerir que los
procesos soliciten recursos en un orden
específico.
**Desasignacion de recursos:** Permite que
los recursos sean liberados cuando un
proceso no los necesita más. Esto puede
ser forzado por el sistema o implementado
por los propios procesos.
**Jerarquia de recursos:** Define una
jerarquía de recursos y prohíbe que un
proceso solicite recursos de un nivel
superior mientras retiene recursos de un
nivel inferior. Esto evita la formación de
ciclos de espera.
**Uso de semaforos:** Utiliza semáforos y
otras estructuras para sincronizar el
acceso a recursos compartidos. Los
semáforos pueden ser utilizados para
controlar el acceso a los recursos y evitar
el acceso simultáneo.
**Evitar la espera circular:** Implementa
políticas que evitan que los procesos
entren en una espera circular. Esto puede
incluir la liberación periódica de recursos y
la asignación segura.
Recuperacion de Interbloqueo
Estrategias
**Terminacion forzada de procesos:** En
situaciones de interbloqueo, se pueden
finalizar uno o más procesos para liberar
los recursos que mantienen y permitir que
otros procesos continúen.
**Reasignacion de recursos:** Los recursos
son tomados de procesos en interbloqueo
y se les asignan a otros que pueden
continuar. Esto puede ser una solución
temporal para resolver el interbloqueo.
**Reinicio de procesos:** En casos
extremos, se pueden reiniciar por completo
algunos procesos para liberar recursos y
evitar el interbloqueo. Esto puede causar
pérdida de datos y no es la opción preferida.