Interbloqueo en los sistemas distribuidos
Situación en la que se encuentran un conjunto de procesos,(al menos dos), tal que cada proceso del conjunto espera la ocurrencia de un evento que solo se puede serprovocado por otro proceso del mismo conjunto
Condiciones necesarias para un interbloqueo
Las condiciones en las cuales se produce un interbloqueo son:
1. Recursos deben utilizarse enexclusión mutua (sólo un proceso puede usar un recurso en un instante dado)
2. Retención y espera (Existen procesos que poseen recursos y que están en espera de otros recursos)
3. Noapropiación (Los recursos solo son liberados por los procesos, no hay prioridades)
4. Círculo vicioso de espera (Existe un circuito en la gráfica de espera)
Los procesos intentan acceder a losrecursos.
- Existe un cierto número de controladores que administran un conjunto de recursos
- Intéres: asignación de recursos a los procesos
- Recursos:
acceso exclusivo ejemplares únicos
- Si Pi requiere recurso r lo debe solicitar al controlador:
si esta libre: se le asigna
si no Pi se bloquea esperando que el procesoPj, que utiliza dicho recurso, lo libere => Pi es dependiente de Pj
Posibles soluciones al interbloqueo
Basadas en circuitos gráfica de espera
Dos grandes clases:
1.Técnicas a priori
impedir que un circuito aparezca
2. Técnicas a posteriori
se detecta una vez que el circuito apareció
Técnicasa priori
Objetivo: evitar formación de un circuito
Principios:
- haber definido un orden total en los recursos
- procesos deben pedir los recursos segúnorden anterior
- ejemplo: R1, R2, R3, ..........., Rm
- recurso Ri solo puede ser solicitado por Pk si este ha obtenido todos los recursos Rj que...
Regístrate para leer el documento completo.