Está en la página 1de 26

TEMA: Interbloqueos

Ing. Carlos Pineda


Facultad de ciencias de la
ingeniera

Creciendo con Calidad!


12 Aos

SAMCI

Que es un recurso?
Un recurso puede ser un dispositivo de hardware (Por
ejemplo: Archivos, unidades de cinta, etc.).
Un recurso puede ser de software (Por ejemplo:
monitores, semforos, registros de base de datos, etc.)
Un computador tiene muchos recursos que se pueden
adquirir.
Un recurso es cualquier cosa que se puede adquirir,
utilizar y liberar con el transcurso del tiempo

Creciendo con Calidad!


12 Aos

SAMCI

Recursos apropiativos y no
apropiativos
Un recurso apropiativo es todo aquel que se puede
quitar al proceso que lo posee. Ejemplo: La memoria

Creciendo con Calidad!


12 Aos

SAMCI

Recursos no apropiativos
Un recurso no apropiativo: No se puede quitar a su
propietario activo ya que esto puede producir una falla.
Ejemplo: Unidad de CD-ROM.

Creciendo con Calidad!


12 Aos

SAMCI

Interbloqueo
Si un proceso intenta acceder a un recurso y este no
est disponible, el proceso solicitante se ve obligado a
esperar.
Al proceso al que se le ha negado la peticin por lo
general pasa a un estado inactivo y despus intenta de
nuevo.

Creciendo con Calidad!


12 Aos

SAMCI

Interbloqueo
Un conjunto de procesos se encuentra en un estado de
interbloqueo cuando todos sus procesos se encuentran
esperando un recurso que mantiene retenido otro
proceso del grupo.
Fuente:
http://inovasistems.blogspot.com.co/

Creciendo con Calidad!


12 Aos

SAMCI

Condiciones para un
Interbloqueo
Coffman, Elphick y Shoshani establecieron las cuatro condiciones que
deben aplicarse para un interbloqueo (de recursos):
Condicin de exclusin mutua. Cada recurso se asigna en un momento
dado a slo un proceso.
Condicin de contencin y espera. Un proceso que retiene uno o varios
recursos se encuentra esperando por recursos asignados a otros procesos.
Condicin no apropiativa. Los recursos otorgados previamente no se
pueden quitar a un proceso por la fuerza. Deben ser liberados de manera
explcita por el proceso que los contiene.
Condicin de espera circular. Debe haber una cadena circular de dos o
ms procesos, cada uno de los cuales espera un recurso contenido por el
siguiente miembro de la cadena.

Creciendo con Calidad!


12 Aos

SAMCI

Ejemplo Interbloqueo
Exclusin Mutua un solo vehculo ocupa
una seccin
Retener y esperar
No expulsin no puede quitar una
seccin de la calle
Espera circular

Creciendo con Calidad!


12 Aos

SAMCI

Ejemplo Interbloqueo
Los procesos P1, P2 y P3 estn en interbloqueo

Creciendo con Calidad!


12 Aos

SAMCI

Modelado de Interbloqueo
Representacin grfica de recursos

Creciendo con Calidad!


12 Aos

SAMCI

Modelado de Interbloqueo
Un arco o lnea dirigido de un nodo de recurso a un nodo de
proceso significa que el recurso fue solicitado y que es contenido
por ese proceso. (Asignacin)

Creciendo con Calidad!


12 Aos

SAMCI

Modelado de Interbloqueo
Un arco dirigido de un proceso a un recurso significa
que el proceso est actualmente bloqueado, en espera
de ese recurso. (Solicitud)

Creciendo con Calidad!


12 Aos

SAMCI

Modelado de Interbloqueo
Ahora podemos ver un interbloqueo: el proceso C est
esperando al recurso T, que actualmente es contenido
por el proceso D. El proceso D no va a liberar al recurso
T debido a que est esperando el recurso U, contenido
por C. Ambos procesos esperarn para siempre. Un ciclo
en el grfico indica que hay un interbloqueo que
involucra a los procesos y recursos en el ciclo
(suponiendo que hay un recurso de cada tipo). En este
ejemplo, el ciclo es C-T-D-U-C.

Creciendo con Calidad!


12 Aos

SAMCI

Modelado de Interbloqueo

Creciendo con Calidad!


12 Aos

SAMCI

Tratamiento de Interbloqueos
Ignorar el problema
Emplear un algoritmo o protocolo que asegure que
nunca se va a poder producir un interbloqueo.
Prevenir: consiste en conseguir que no puedan
simultneamente las 4 condiciones de Coffman
Evitar: Algoritmo banquero

darse

Utilizar un algoritmo que detecte una situacin de


interbloqueo y seguir alguna tcnica que permita
deshacer dicha situacin

Creciendo con Calidad!


12 Aos

SAMCI

Prevencin de Interbloqueo
Se trata de eliminar la aparicin de alguna de las cuatro
condiciones necesarias para el interbloqueo.
Exclusin mutua. Depende de la naturaleza del
recurso (Generalmente todos los recursos son no
compartibles), as que esta condicin no se puede
eliminar.

Creciendo con Calidad!


12 Aos

SAMCI

Prevencin de Interbloqueo
Retencin y espera. Hay que garantizar que un proceso
que posee un recurso no pueda pedir otro.
El proceso tiene que pedir todos sus recursos de una vez,
p.ej. antes de empezar a ejecutarse
efecto negativo: muchos recursos retenidos pero no usados.

Si el conjunto completo de recursos est disponible se le


concede, si no se suspende en espera de que todos lo
estn.
Efecto negativo: Es difcil que un conjunto de recursos est
disponible a la vez, lo que puede producir una espera indefinida
del proceso solicitante.

Creciendo con Calidad!


12 Aos

SAMCI

Prevencin de Interbloqueo
No expropiacin. Permitir que el S.O. desasigne
recursos a un proceso bloqueado.
Si un proceso se bloquea por un recurso, los recursos
retenidos quedan a disposicin de los procesos activos
El proceso bloqueado tiene ahora que esperar por todos
los recursos
Penaliza a los procesos que necesitan muchos recursos
Generalmente no puede aplicarse a recursos tales como
impresoras y unidades de cinta

Creciendo con Calidad!


12 Aos

SAMCI

Prevencin de Interbloqueo
Espera circular: Esta condicin se puede romper si
imponemos un orden total a los recursos, y se obliga a
que los procesos soliciten siempre los recursos
siguiendo dicho orden.

Creciendo con Calidad!


12 Aos

SAMCI

Evitacin del interbloqueoAlgoritmo del banquero


Se trata de conceder los recursos slo cuando no representen un riesgo
futuro de interbloqueo.
Lo procesos han de declarar por anticipado la cantidad mxima de
recursos que van a utilizar a lo largo de su vida
Estado seguro: un estado en el cual no hay riesgo inminente de
interbloqueo. Un estado es seguro si todos los procesos que ya tienen
recursos tienen la posibilidad de ser completados en algn orden
determinado.
{P1, P2, ...,PN} es una secuencia segura si los recursos que Pi puede
pedir en el peor caso se pueden atender con lo que hay disponible ms los
recursos posedos por todos los procesos Pj,j<i
Slo concedemos recursos si el estado resultante tras la peticin es seguro

Creciendo con Calidad!


12 Aos

SAMCI

Algoritmo del banquero


Fue inventado por Dijkstra en 1965. Su nombre se debe
a que simula el comportamiento de un banquero que
realiza prestamos y recibe pagos de sus clientes,
satisfaciendo las necesidades de todos sus ellos.
El nmero de recursos asignados a todos los procesos
nunca debe exceder el numero de recursos del sistema.
Nunca se debe hacer una asignacin peligrosa, es decir,
asignar recursos de modo que no queden suficientes
para satisfacer las necesidades de todos los procesos.

Creciendo con Calidad!


12 Aos

SAMCI

Algoritmo del banquero


Considere un sistema con tres procesos P1, P2 y P3 y un
conjunto de 10 recursos.

Creciendo con Calidad!


12 Aos

SAMCI

Algoritmo del banquero


Estado seguro

Creciendo con Calidad!


12 Aos

SAMCI

Algoritmo del banquero


Estado no seguro

Creciendo con Calidad!


12 Aos

SAMCI

Algoritmo del banquero


Cuando un proceso realiza una peticin, el SO calcula si
tras conceder los recursos el sistema pasa a un estado
seguro
Si el nuevo estado es seguro, se concede la peticin
Si el nuevo estado no es seguro, el proceso queda
bloqueado (aunque existan recursos suficientes para
atender la peticin). La peticin se concede cuando se
observa que no hay riesgo de interbloqueo

Creciendo con Calidad!


12 Aos

SAMCI

Caractersticas Algoritmo del


banquero
Se permiten las condiciones de exclusin mutua,
retencin y espera y de no expropiacin
Los procesos solicitan el uso exclusivo de los recursos
que necesitan y se les permite mantener los recursos
que tiene asignados
Los procesos piden los recursos al sistema operativo de
uno en uno.
El sistema puede conceder (Si la solicitud lleva a un
estado seguro) o rechazar cada peticin (Solicitud que
lleva a un estado no seguro).

Creciendo con Calidad!


12 Aos

SAMCI

También podría gustarte