INTERBLOQUEOS
Edwin Garces
Instituto Universitario de
Tecnologia Antonio Jose de Sucre
Escuela de informatica
QUE ES UN
INTERBLOQUEO
Es el bloqueo permanente de un conjunto de
procesos o hilos de ejecución en un sistema
concurrente que compiten por recursos del sistema o
bien se comunican entre ellos. A diferencia de otros
problemas de concurrencia de procesos, no existe
una solución general para los interbloqueos.
QUE CAUSA LOS
INTERBLOQUEOS?
Existen 4 reglas basicas para que se produzca un interbloqueo:
 Condición de exclusión mutua : los procesos exigen un control exclusivo de los
recursos que necesitan.
 Condición de espera : los procesos mantienen la posesión de los recursos ya
asignados a ellos mientras esperan recursos adicionales.
 Condición de no apropiación : los recursos no pueden arrebatarse a los
procesos a los cuales están asignados hasta que termine su utilización.
 Condición de espera circular : existe una cadena circular de procesos en la que
cada proceso tiene uno o más recursos que son requeridos por el siguiente
proceso en la cadena.
Veamos algunos ejercicios relacionados con interbloqueo
1 – UNA SITUACIÓN DE LOS
SISTEMAS OPERATIVOS DONDE
SE PRODUZCA INANICIÓN, PERO
NO HAY INTERBLOQUEO Y UNA
SITUACIÓN DONDE SE
PRODUZCA INANICIÓN E
INTERBLOQUEO
Situación de inanición sin interbloqueo
Podemos hablar del siguiente ejemplo para ilustrar una situacion donde existe una
inanición pero no necesariamente debe existir un interbloqueo.
Supongamos que tenemos 3 procesos (P,P1 Y P2) Y cada uno necesita acceso por un cierto
tiempo a un recurso en específico, digamos que el recurso tiene un nombre (R).
Digamos que P tiene acceso al recurso y tanto P1 como P2 están en espera para utilizar
dicho recurso (R). Cuando P sale de su sesión, cualquiera de los procesos P1 o P2 debería
tener acceso al recurso (R). Supongamos que el sistema operativo le asigna el recurso a P1,
al existir el caso de que P solicite acceso de nuevo al recurso antes de que
P1 termine, y al P1 terminar sección el sistema operativo le otorgue el acceso de nuevo P, y
asi lo siga haciendo solo con P y P1; en este P2 estaría negado de acceder al (R)
indefinidamente, pero no necesariamente se producirá un interbloqueo.
Ahora podemos hablar de los 3 procesos anteriores pero en
un caso donde se presenten inanición e interbloqueo juntos.
En este caso P2 tiene en su poder un recurso (R1) que será necesitado por P luego
de terminar por completo de usar el recurso mencionado anteriormente (R)
luego de una espera indefinida por parte de P2, P ha terminado su sesión con
(R) pero para poder terminar su ejecución, está solicitando un recurso (R1) el
cual está en poder de P2 el cual no lo liberara a menos que se le otorgue sesión
con el recurso solicitado (R), en este caso los 2 recursos aplicaran lo conocido
como retención y espera generando así un interbloqueo
2- Sean 4 procesos y 3 recursos: el recurso 1 cuenta con 5 unidades, el recurso
2 tiene 3 unidades, el recurso 3 tiene 4 unidades que realizan las siguientes
peticiones: a. El proceso 1 solicita 3 unidades del recurso 3 b. El proceso 2
solicita 2 unidades del recurso 1 c. El proceso 3 solicita 4 unidades del recurso 2
d. El proceso 4 solicita 1 unidad del recurso 1. e. Calcule G y su representación
gráfica.
 a. P1 solicita 3 unidades del recurso 3
 b. P2 solicita 2 unidades del recurso 1
 c.P3 solicita 4 unidades del recurso 2
 d .P4 solicita 1 unidade del recurso 1
 e. Existe un bloqueo por falta de unidades en el recurso 2 y se
representa en la siguiente figura
P 1 P 2 P 3 P 4
R 1 R 2 R 3
Se produce un bloqueo por
falta de unidades en R2
3 -
3 - Supóngase un sistema con 2 tipos de recursos,
con 3 unidades disponibles cada recurso. En este
sistema se ejecutan procesos tal que cada uno de
ellos necesita una unidad de cada tipo de recursos.
¿Cuál es el número máximo de procesos que
puede existir de forma tal que se asegure que no
haya interbloqueo? Argumente su respuesta.
Primero que todo se debe identificar el tipo de recurso del que
estamos hablando. En caso de que el recurso sea No expropiable ,
es recomendable solo asignar 1 proceso por recurso, en caso de que
sea expropiable, lo cual quiere decir que puede ser compartido
entre procesos, pueden asignarse tantos procesos como se
necesiten, es decir depende de la necesidad, pues podrán
compartirse sin problemas. Es también necesario aclarar que
mientras más procesos estén utilizando un recurso, más
probabilidades existen de que se produzca un interbloqueo.

Interbloqueos ejercicios

  • 1.
    INTERBLOQUEOS Edwin Garces Instituto Universitariode Tecnologia Antonio Jose de Sucre Escuela de informatica
  • 2.
    QUE ES UN INTERBLOQUEO Esel bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente que compiten por recursos del sistema o bien se comunican entre ellos. A diferencia de otros problemas de concurrencia de procesos, no existe una solución general para los interbloqueos.
  • 3.
    QUE CAUSA LOS INTERBLOQUEOS? Existen4 reglas basicas para que se produzca un interbloqueo:  Condición de exclusión mutua : los procesos exigen un control exclusivo de los recursos que necesitan.  Condición de espera : los procesos mantienen la posesión de los recursos ya asignados a ellos mientras esperan recursos adicionales.  Condición de no apropiación : los recursos no pueden arrebatarse a los procesos a los cuales están asignados hasta que termine su utilización.  Condición de espera circular : existe una cadena circular de procesos en la que cada proceso tiene uno o más recursos que son requeridos por el siguiente proceso en la cadena.
  • 4.
    Veamos algunos ejerciciosrelacionados con interbloqueo
  • 5.
    1 – UNASITUACIÓN DE LOS SISTEMAS OPERATIVOS DONDE SE PRODUZCA INANICIÓN, PERO NO HAY INTERBLOQUEO Y UNA SITUACIÓN DONDE SE PRODUZCA INANICIÓN E INTERBLOQUEO
  • 6.
    Situación de inaniciónsin interbloqueo Podemos hablar del siguiente ejemplo para ilustrar una situacion donde existe una inanición pero no necesariamente debe existir un interbloqueo. Supongamos que tenemos 3 procesos (P,P1 Y P2) Y cada uno necesita acceso por un cierto tiempo a un recurso en específico, digamos que el recurso tiene un nombre (R). Digamos que P tiene acceso al recurso y tanto P1 como P2 están en espera para utilizar dicho recurso (R). Cuando P sale de su sesión, cualquiera de los procesos P1 o P2 debería tener acceso al recurso (R). Supongamos que el sistema operativo le asigna el recurso a P1, al existir el caso de que P solicite acceso de nuevo al recurso antes de que P1 termine, y al P1 terminar sección el sistema operativo le otorgue el acceso de nuevo P, y asi lo siga haciendo solo con P y P1; en este P2 estaría negado de acceder al (R) indefinidamente, pero no necesariamente se producirá un interbloqueo.
  • 7.
    Ahora podemos hablarde los 3 procesos anteriores pero en un caso donde se presenten inanición e interbloqueo juntos. En este caso P2 tiene en su poder un recurso (R1) que será necesitado por P luego de terminar por completo de usar el recurso mencionado anteriormente (R) luego de una espera indefinida por parte de P2, P ha terminado su sesión con (R) pero para poder terminar su ejecución, está solicitando un recurso (R1) el cual está en poder de P2 el cual no lo liberara a menos que se le otorgue sesión con el recurso solicitado (R), en este caso los 2 recursos aplicaran lo conocido como retención y espera generando así un interbloqueo
  • 8.
    2- Sean 4procesos y 3 recursos: el recurso 1 cuenta con 5 unidades, el recurso 2 tiene 3 unidades, el recurso 3 tiene 4 unidades que realizan las siguientes peticiones: a. El proceso 1 solicita 3 unidades del recurso 3 b. El proceso 2 solicita 2 unidades del recurso 1 c. El proceso 3 solicita 4 unidades del recurso 2 d. El proceso 4 solicita 1 unidad del recurso 1. e. Calcule G y su representación gráfica.  a. P1 solicita 3 unidades del recurso 3  b. P2 solicita 2 unidades del recurso 1  c.P3 solicita 4 unidades del recurso 2  d .P4 solicita 1 unidade del recurso 1  e. Existe un bloqueo por falta de unidades en el recurso 2 y se representa en la siguiente figura
  • 9.
    P 1 P2 P 3 P 4 R 1 R 2 R 3 Se produce un bloqueo por falta de unidades en R2
  • 10.
    3 - 3 -Supóngase un sistema con 2 tipos de recursos, con 3 unidades disponibles cada recurso. En este sistema se ejecutan procesos tal que cada uno de ellos necesita una unidad de cada tipo de recursos. ¿Cuál es el número máximo de procesos que puede existir de forma tal que se asegure que no haya interbloqueo? Argumente su respuesta.
  • 11.
    Primero que todose debe identificar el tipo de recurso del que estamos hablando. En caso de que el recurso sea No expropiable , es recomendable solo asignar 1 proceso por recurso, en caso de que sea expropiable, lo cual quiere decir que puede ser compartido entre procesos, pueden asignarse tantos procesos como se necesiten, es decir depende de la necesidad, pues podrán compartirse sin problemas. Es también necesario aclarar que mientras más procesos estén utilizando un recurso, más probabilidades existen de que se produzca un interbloqueo.