You are on page 1of 12

02/07/2016

INTERBLOQUEOS

Samanta Cueva
spcueva@utpl.edu.ec

Contenido
Modelo del sistema
Caractersticas de los interbloqueos
Mtodos para tratar los interbloqueos

02/07/2016

INTERBLOQUEOS


Algunos procesos en espera nunca cambien su estado, debido a que


los recursos que han solicitado estn retenidos por otro procesos
tambin en espera.
Ejemplo
El sistema tiene 2 discos.
P1 y P2 cada uno tiene un disco retenido y necesitan otro.

Ejemplo

Trnsito en una sola direccin.


Cada seccin de un puente puede ser vista como un recurso.
Si un interbloqueo ocurre, se puede resolver si cada auto
retrocede.
Pueden retroceder varios autos si ocurre un interbloqueo.
Puede ocurrir una inanicin

02/07/2016

Modelo del Sistema








El sistema tiene un nmero de recursos finito.


Tiene diferentes tipos de recursos como son: espacio de
memoria, ciclos de CPU, discos duros, impresoras , etc. R1,
R2, R3,....Rn.
Cada tipo de recursos Ri tiene Wi instancias.
Un proceso puede usar un recurso solo en la siguiente
secuencia.

Solicitud. Si la solicitud no puede ser atendida,


entonces el proceso debe esperar.
Uso. El proceso debe operar sobre le recurso
Liberacin. El proceso debe liberar el recurso.

Modelo del Sistema




La solicitud y la liberacin son llamadas al sistema.


Request y release device
Open y close file
Allocate y free memory
Una tabla del sistema registra si cada recurso est libre o ha sido asignado y
para cada recurso asignado, a qu proceso.
Un conjunto de procesos se encuentra en un interbloqueo cuando cada
proceso del conjunto esta esperando por un evento que slo puede ser
provocado por otro procesos del mismo conjunto.
Un programador que est desarrollando aplicaciones multihilo debe poner
especial atencin a este problema: los programas multihilos son buenos candidatos
para los interbloqueos debido a que existen varios hilos compitiendo por
recursos compartidos.

02/07/2016

CARACTERSTICAS
Una situacin de interbloqueo surge si se presentan simultneamente las siguientes
cuatro condiciones:

Exclusin mutua: Slo un proceso a la vez puede retener un recurso. Si otro


proceso solicita el recurso, debe esperar hasta que el recurso se haya liberado.
Retencin y espera: Debe existir un proceso que por lo menos est reteniendo
un recurso y est esperando adquirir recursos adicionales que en ese momento
estn siendo retenidos por otro proceso.
No apropiacin: Un recurso solo puede ser liberado voluntariamente por el
proceso que lo est reteniendo.
Espera Circular: debe existir un conjunto de procesos {P0, P1, P2,....,Pn} de
procesos que esperan, tal que P0 est esperando un recurso que est retenido por
P1, P1 espera por un recurso retenido por P2,... y Pn-1 espera por un recurso
retenido por Pn y Pn espera por un recurso retenido por P0.

GRFICA DE ASIGNACIN DE RECURSOS




Se tiene un conjunto de vrtices V y un conjunto de aristas E.

El conjunto de vrtices se divide en dos tipos de nodos:


P={P1,P2, ... ,Pn} (procesos activos del sistema) y
R={R1,R2, ... ,Rn} (tipos de recursos del sistema).

Arista de Solicitud: P1

Arista de Asignacin: Rj

Rj
Pi

02/07/2016

GRFICA DE ASIGNACIN DE RECURSOS

Proceso

Tipo de recurso con 4 instancias.

P1 solicita una instancia del recurso Ri

Una instancia de Ri esta asignada al Proceso P1

Pi
Pi

Ejemplo
Si cada recurso solo tuviera una sola instancia,
la existencia de un ciclo en la grfica es una
condicin suficiente y necesaria para afirmar
que existe un interbloqueo.

Si cada recurso tiene varias instancias entonces


un ciclo no implica necesariamente que existe
un interbloqueo. En este caso un ciclo es un
condicin necesaria pero no suficiente para la
existencia de un interbloqueo.

02/07/2016

Ejemplo

Ejemplo
En esta grfica existe un ciclo, y el P3 est
solicitando un instancia del recurso R2 y ya
no estn disponibles ms instancias en ese
momento.
Existe interbloqueo?
La respuesta es no, ya que P4 puede liberar
una instancia del recurso R2 y ser asignado a
P3, con lo cual se rompera el ciclo.

02/07/2016

Ejercicios
Identifique si en las siguientes grficas existe bloqueo mutuo
a)

b)

MTODOS PARA MANEJAR LOS INTERBLOQUEOS

Podemos utilizar un protocolo para que el sistema nunca entre en un


interbloqueo.
Para asegurar que un sistema nunca entre en un interbloqueo se puede
usar un esquema de prevencin o evasin de interbloqueos.

Podemos hacer el sistema entre en un estado de bloqueo mutuo y luego hacer


una recuperacin.
Se debe realizar un esquema que pueda detectar que el sistema se
encuentra en un interbloqueo y luego recuperarlo.

Podemos ignorar el problema y pretender que los bloqueos mutuos nunca


ocurren en el sistema.

02/07/2016

PREVENCIN DE INTERBLOQUEOS


Si se asegura que no se cumplan las condiciones necesarias para que exista un


interbloqueo se puede prevenir la ocurrencia de interbloqueos en el sistema
Exclusin mutua: La condicin de exclusin mutua debe cumplirse en caso
de que los recursos no puedan compartirse.
Retencin y espera: Se debe garantizar que un proceso no solicite un
recurso que est retenido por otro proceso.
Un protocolo que se puede usar requiere que cada proceso solicite y se le
asigne todos sus recursos antes de su ejecucin.
Otro protocolo consiste en que un proceso solicite un recurso cuando no
tenga ningn otro asignado.

PREVENCIN DE INTERBLOQUEOS


No apropiacin: Para asegurar que no se cumpla esta condicin se puede


utilizar el siguiente protocolo.
Si un proceso est reteniendo algunos recursos y solicita otro recurso no
se le puede asignar inmediatamente, entonces todos los recursos se
liberan implcitamente.
De manera alterna, si un proceso solicita algunos recursos, primero
verifica si estn disponibles, si es as, entonces los asigna, en caso
contrario, se verifica si estn asignados a un proceso que est esperando
recursos adicionales. De ser as nos apropiamos de los recursos del
procesos que esta en espera y los asignamos al procesos solicitante.

Espera circular: Una forma de evitar que se cumpla esta condicin es


imponer un ordenamiento total de todos los tipos de recursos y requerir que
cada proceso solicite recursos en orden creciente.

02/07/2016

EVASIN DE INTERBLOQUEOS


Un mtodo alterno para evitar los interbloqueos es requerir informacin


adicional sobre como se van a solicitar los recursos.
Conociendo exactamente la secuencia de cada solicitud y liberacin de cada
proceso, el sistema puede decir, para cada solicitud si el proceso debe esperar
o no, con el fin de evitar un interbloqueo en el futuro.
Para cada solicitud el sistema debe tomar en cuenta:
Los recursos que estn libres actualmente.
Los recursos que estn asignados a cada proceso actualmente y
Las solicitudes y liberaciones futuras de cada proceso.

EVASIN DE INTERBLOQUEOS ESTADO SEGURO

Un estado es seguro si el sistema puede asignar recursos a cada proceso en


determinado orden sin que se produzca un interbloqueo.
Si para cada Pi, las solicitudes de recursos de Pi pueden ser satisfechas
mediante los recursos actuales disponibles.
Factores:
Si el sistema est en un estado seguro, entonces no hay interbloqueos.
Si el sistema est en un estado inseguro, entonces podra haber
interbloqueos.
El sistema debe evitar que entre en un estado inseguro.

02/07/2016

GRFICA DE ASIGNACIN DE RECURSOS

Arista de Asignacin
Arista de Solicitud
Arista de declaracin
Una
Arista
de
declaracin
especificada que el proceso puede
solicitar el recurso en el futuro. Lo
cual permitir determinar si el
sistema puede entrar en un estado
de interbloqueo

GRFICA DE ASIGNACIN DE RECURSOS

10

02/07/2016

DETECCIN DE INTERBLOQUEOS

Si el sistema no emplea algoritmos para la prevencin o evasin de


interbloqueos, entonces el sistema debe proporcionar:
Un algoritmo que examine el estado del sistema para determinar si se ha
producido un interbloqueo.
Un algoritmo para recuperarse del interbloqueo.

RECUPERACIN DE INTERBLOQUEOS

Terminacin de procesos
Interrumpir todos los procesos interbloqueados.
Interrumpir un proceso cada vez hasta que el ciclo de interbloqueo se
elimine.
Apropiacin de recursos
Seleccionar un vctima
Anulacin
Inanicin

11

02/07/2016

Bibliografa
Silberchatz, Galvin, Gagne; Fundamentos de
Operativos, Sptima Edicin; Editorial Mc Graw Hill.

Sistemas

12

You might also like