interbloqueos ejercicios
Post on 15-Aug-2015
38 Views
Preview:
TRANSCRIPT
INTERBLOQUEOS
Edwin GarcesInstituto Universitario de Tecnologia Antonio Jose de SucreEscuela 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.
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 interbloqueoPodemos 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
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.
top related