You are on page 1of 26

Repblica Bolivariana de Venezuela

Ministerio de Poder Popular Para la Educacin


Universidad Valle del Momboy
Carvajal Estovacuy

Interbloqueo
Alumna:
Ormaly Rivas
C.I: 20.040.457

Julio del 2015

Interbloqueo

Bloqueo mutuo o abrazo mortal, es el


bloqueo permanente de un conjunto de
procesos que o bien compiten por recursos
del sistema, o bien se comunican entre
ellos.

Interbloqueo

El

problema de los interbloqueos no se


circunscribe nicamente al mundo de la
informtica, si que aparece en muchos
otros mbitos, as como en la vida
cotidiana.
De hecho uno de los mbitos con lo que
se puede relacionar con la vida cotidiana
es el de el trafico de vehculo

Deteccin

y Recuperacin: una ves


detectada la situacin del interbloqueo, uno
de los vehculos debe liberar el recurso que
posee para dejar que el otro lo utilice.
Prevencin o Prediccin: las estrategias de
prevencin evitan el interbloqueo
asegurando que no lleguen a un punto de
no retorno, un ejemplo seria un sistema de
sealizacin basado en semforos

Estrategias para tratar los


Interbloqueos

Exclusin

mutua: Slo un proceso puede


usar un recurso cada vez.
Retencin y espera: Un proceso puede
retener recursos asignados mientras
espera que se le asignen otros
No expropiacin: Ningn proceso puede
ser forzado a abandonar un recurso
retenido (incluso aunque se le deniegue
una nueva solicitud de un recurso)

Condiciones de interbloqueo

Se caracteriza por la existencia de un conjunto


de entidades activas que utilizan un conjunto
de recursos para llevar a cabo su labor, donde
existen dos papeles:
Las Entidades: activas que corresponden
evidentemente con los procesos existentes
en el sistema.
Recursos existentes: sistema que sern
utilizados por los procesos para llevar a cabo
su labor

Interbloqueo en un Sistema
Informtico

Recursos

Reutilizables: se caracteriza
por el recurso existiendo despus de que
un proceso lo use quedando disponible
para otros procesos, por lo tanto la vida
del recurso es independiente de su
utilizacin

Tipos de Recursos

Se caracterizan porque dejan de existir una vez que


el proceso los usa. Un proceso genera o produce un
recurso y ello lo utiliza consumindolo
Recursos Compartidos o Exclusivos: algunos
recursos pueden ser usados simultaneamente por
varios procesos, este tipo de recurso no se ven
afectados por los interbloqueos, ya que los
procesos que quieran usarlo pueden acceder a el de
forma inmediata sin posibilidad de quedarse
bloqueados

Recurso Consumible

P3: solicita (R2[1])


P1: solicita (R2[1], R3[2]) se bloque pues
uno de los recursos no esta disponible

Asignacin de Recursos

Suponga se un programa que necesite usar recursos (A,B,C,D)


en distintos intervalos de tiempo:
t1: solicita (A, B, C ,D)
(t1, t2): solo utiliza A
(t2, t3): utiliza A y B
t3: Libera (A)
(t3, t4): solo utiliza B
(t4, t5): utiliza B y C
t5: Libera (B)
(t5, t6): solo utiliza C
t6: Libera (C)
(t6, t7): solo utiliza D
t8: Libera (D)

Diagrama de Recursos

Diagrama de Recursos

Diagrama de Recursos

Ejecucin de 3 procesos con 3 recursos R1


(2), R2 (3) y R3 (2)
1.P1: solicita(R1[2]) solicita 2 unidades
2.P2: solicita(R2[1])
3.P2: solicita(R1[1]) se bloquea
4.P3: solicita(R2[1])
5.P3: solicita(R2[1])
6.P1: solicita(R2[1], R3[2]) se bloquea

Representacin de una Matriz

Matriz Resultante:

Evita bloqueos asegurando que las


asignaciones de recursos siempre conducen
a un estado seguro (uno que asegura que
todos los procesos podran terminar en
algn orden secuencial). Si la solicitud
conduce a un estado inseguro, se pospone.

Algoritmo del banquero

El Algoritmo del Banquero

Determina si estado es seguro O(p2r)


S=;
Repetir {
Buscar Pi no incluido en S tal que N[i]D;
Si Encontrado {
Reducir por Pi: D = D + A[i]
Aadir Pi a S;
}
} Mientras (Encontrado)
Si (S==P) El estado es seguro
Si no: El estado no es seguro

Algoritmo del banquero

Algoritmo de seguridad

Establece si el sistema se encuentra


actualmente en un estado seguro.
Estructuras de datos auxiliares:
Trabajo[m]: Acumula los recursos de los
procesos que pueden evolucionar
Acabado[n]: Booleano que indica cuando
un proceso ha acabado

Funcion Seguridad retorna Boolean


Trabajo := Disponible
Para todo i
Acabado[i] := false
Fin Para
Mientras i tal que Acabado[i]=False AND
Necesito[i]<=Trabajo
Trabajo := Trabajo + Asignado[i]
Acabado[i] := True
FinMientras
Si i Acabado[i]=True Entonces
Seguridad := True
Sino
Seguridad := False
FinSi

Reduccin por Pi:


Si S[i]D (recs. disponibles satisfacen necesidades)
D= D+A[i](devolver los recursos asignados)
Algoritmo de complejidad O(p2r):
S=;
Repetir {
Buscar Pi no incluido en S tal que S[i]D;
Si Encontrado {
Reducir por Pi: D = D + A[i]
Aadir Pi a S;
}
} Mientras (Encontrado)
Si (S==P) No hay interbloqueo
Si no: Procesos en P-S estn en interbloqueo

Algoritmo de Deteccin

Ejemplo de Aplicacin del


Algoritmo

Procedimiento Peticion_Recursos( Peticion[i] )


Si Peticion[i] > Necesito[i]
Entonces ERROR
FinSi
Si Peticion[i] > Disponible
Entonces Suspender_Proceso(i)
Sino
Disponible := Disponible - Peticion[i]
Asignado[i] := Asignado[i] + Peticion[i]
Necesito[i] := Necesito[i] - Peticion[i]
Si Seguridad
Entonces Dar_Recursos_A(i)
Sino
Recuperar_estado_previo()
Suspender_Proceso(i)
FinSi
FinSi
Fin Peticion_Recursos

Algoritmo de peticin de recursos

Lo

utiliza el sistema para averiguar si


puede satisfacer una peticin de recursos.
Estructura de datos auxiliar:
Peticion [i]: Vector de tamao m que
refleja los recursos que pide el proceso i.

Algoritmo de peticin de recursos.

You might also like