Está en la página 1de 6

ACTIVIDAD: TALLER DE INTERBLOQUEOS

1. Considere un interbloque entre vehculos mostrado en la figura:

Demuestre que las cuatro condiciones necesarias para que se produzca


un interbloqueo se cumple en este ejemplo.

Exclusin mutua.- Todos los carros (procesos) esperan salir


(ejecutarse).

Retener y esperar.- Cada proceso mantiene los recursos que ya


le han sido asignados a la vez que espera a adquirir los dems.
Sin desalojo. Significa que un recurso solo puede ser liberado de forma
voluntaria por el proceso al que se le ha concedido su uso.
Espera circular. Los procesos interbloqueados forman una cadena circular, de
modo que cada proceso mantiene uno o ms de los recursos que son
solicitados por el siguiente proceso de la cadena.

Enuncie una regla simple para evitar los interbloqueos

Estado seguro: si todos los procesos que ya tienen concedidos los recursos
tienen la posibilidad de ser completados en algn orden determinado,
incluso si cada uno de esos procesos utilizara todos los recursos a los que
est autorizado.

2. Considere la situacin de interbloqueo que podra producirse en el problema de la


cena de los filsofos cuando cada uno de ellos toma un palillo cada vez. Explique
como se cumplen las 4 condiciones necesarias de interbloqueo en esta situacin.
Explique como podran evitarse los interbloqueos impidiendo que se cumpla
cualquiera de las cuatro condiciones.
Condiciones
Exclusin mutua. Cada filsofo espera obtener un palillo.
Retener y esperar. Cada filosofo tiene un palillo espera obtener otro.
Sin desalojo. Un filsofo solamente puede deshacerse de un palillo
solamente si l quiere.
Espera circular. Cada filsofo tiene el palillo que otros filsofos quieren.

Evitar los interbloqueos


Retener y esperar. Para asegurar que nunca se produzca, debemos garantizar
que, cuando un proceso solicite un recuro, el proceso no est reteniendo
ningn otro recurso.

3. Una posible solucin para evitar los interbloqueos es tener un nico recurso de
orden superior que bebe solicitarse antes de cualquier otro recurso. Por ejemplo, si
varias hebras intentan acceder a los objeto de sincronizacin A.E, puede
producirse un interbloqueo.
Podemos impedir el interbloqueo aadiendo un sexto objeto F. Cuando una hebra
quiera adquirir el bloqueo de sincronizacin de cualquier objeto AE, primero
deber adquirir el bloqueo para el objeto D. Esta solucin se conoce con el nombre
de contencin: Los bloqueos para los objetos AE estn contenidos dentro del
bloqueo del objeto F. Compare este esquema de espera circular.

Si se usan estos dos protocolos, entonces la condicin de espera circular no puede llegar
cumplirse. Podremos demostrar este hecho suponiendo que existe una espera circular. Sea
el conjunto de los procesos implicados en la espera circular A..E donde A espera acceder al
recurso que est retenido por el proceso E. Entonces dado que el proceso E est reteniendo
el recurso mientras solicita otro recurso tiene que cumplir que E (recurso1) < E (recurso2).
Esta condicin quiere decir que es imposible por tanto no puede existir una espera circular.

4. Compare el esquema de espera circular con los distintos esquemas de interbloqueo


en lo que respecta a las cuestiones siguientes:
Tiempo de ejecucin adicional necesario

El tiempo de ejecucin varia debido a la complejidad del programa donde se


quiera aplicar este esquema

Tasa de procesamiento del sistema

Todo esquema asegura que al menos una de las condiciones necesarias para
que haya interbloqueo no se produzca y, por lo tanto que no puedan aparecer
interbloqueos. Sin embargo, esta tcnica de prevencin de interbloqueos tiene
algunos posibles efectos colaterales, como son una baja tasa de utilizacin de
los dispositivos y una menor.

5. En una computadora real, ni los recursos disponibles ni las demandas de recursos


de los procesos son homogneos durante periodos de tiempo largos (meses); los
recursos se averan o se reemplazan, aparecen y desaparecen procesos nuevos, se
compran y aaden al sistema recursos adicionales. SI conrolamos los interbloqueos
mediante el algoritmo del banquero. Cules de los siguientes cambios pueden
realizarse de forma segura y bajo qu circunstancias?
Aumentar el valor Available
Esto podra ser de forma segura cambiado sin ningn problema.
Disminuir el valor Available
Esto podra tener un efecto sobre el sistema e introducir la
posibilidad de estancamiento como la seguridad del sistema asume
haba un cierto nmero de recursos disponibles.
Aumentar el valor Max para un proceso
Esto podra tener un efecto sobre la el sistema e introducir la
posibilidad de estancamiento.
Disminuir el valor Max de un proceso
Este podra ser cambiado de manera segura sin ningn problemas.
Aumentar el nmero de procesos
Esto podra permitir suponiendo que los recursos se asignan al
nuevo proceso (s) de tal manera que el sistema no entra en un
estado inseguro.

Disminuir el nmero de procesos


Esta seguridad puede ser cambiado sin ningn problema.

6. Considere un sistema que tiene cuatro recursos del mismo tipo, compartidos entre 3
procesos, cada procesos necesita como mximo dos recursos. Demostrar que
sistema est libre de interbloqueos.
Supongamos que el sistema se encuentra en un punto muerto. Esto implica
que cada proceso es la celebracin de un recurso y est esperando una ms.
Ya que hay son tres procesos y cuatro recursos, un proceso debe ser capaz
de obtener dos recursos. Este proceso no requiere ms recursos y, por lo
tanto, devolver sus recursos cuando haya terminado.
7. Considere un sistema que consta de m recursos del mismo tipo, compartidos por n
procesos. Los procesos slo pueden solicitar y liberar los recursos de un en uno.
Demostrar que el sistema est libre de interbloqueos si se cumplen las dos
condiciones siguientes:
La necesidad de cada proceso est comprendida entre 1 y m recursos
La suma de todas las necesidades mximas es menor que m + n.

Utilizando la terminologa de la Seccin 7.6.2, tenemos:


n

a. = 1 Ma xi < m + n
i

b. Ma xi 1 for all i
Proof: Needi = Ma xi Alloca tioni
If there exists a deadlock state then:
n

c. = 1 Alloca tioni = m
i

Use a. to get: Needi + Alloca tioni = Ma xi < m + n


Use c. to get: Needi + m < m + n
n

Rewrite to get: = 1 Needi < n


i

Esto implica que existe un proceso Pi tal que Needi = 0. Como


Ma xi 1 se deduce que Pi tiene al menos un recurso que se puede liberar.
Por lo tanto el sistema no puede estar en un estado de interbloqueo.
8. Podemos obtener un algoritmo simplificado del banquero para un nico tipo de
recurso a partir del algoritmo general del banquero, simplemente reduciendo la
dimensionalidad de las diversas matrices en 1. Demuestre mediante un ejemplo que
el algoritmo del banquero para mltiple tipos de recursos no se puede implementar
con solo aplicar individualmente a cada tipo de recurso el algoritmo simplificado
para un nico tipo de recurso.
Considere un sistema con recursos A, B, y C y los procesos P0, P1, P2, P3, P4
y con los siguientes valores de la asignacin:

Allocation
A

P0

P1

P2

P3

P4

P0

P1

P2

P3

P4

Y el siguiente valor de la need:

Need

Si el valor del disponible es (2 3 0), podemos ver que una peticin de proceso
P0 (0 2 0) no puede ser satisfecha ya que esto reduce Disponible a (2 1 0) y
sin
proceso podra terminar de forma segura.
Sin embargo, si tuviramos que tratar a los tres recursos ya que tres de un
solo recurso tipos de algoritmo del banquero, obtenemos lo siguiente: Para el recurso A (que
tenemos disponibles 2).

Asignacin

Necesidad

P0

P1

P2

P3

P4

Procesos podran terminar de forma segura en el orden de P1, P3, P4, P2, P0. Para el recurso
B (que ahora tenemos disponible como 1 2 fueron asumidos asignado para procesar P0),
Asignacin

Necesidad

P0

P1

P2

P3

P4

Procesos podran terminar de forma segura en el orden de P2, P3, P1, P0, P4. Y, por ltimo,
para los recursos Para C (que tenemos disponibles 0).
Asignacin

Necesidad

P0

P1

P2

P3

P4

9.

A.
B.

C.

Los valores de Need for procesos P0 a P4, respectivamente, son (0, 0, 0, 0), (0, 7,
5, 0), (1,0, 0, 2), (0, 0, 2, 0) y (0, 6, 4, 2).
S. Con Disponible ser igual a (1,5, 2, 0), ya sea P0 proceso o P3 podan correr.
Una vez P3 proceso se ejecuta, libera sus recursos que permiten a todos los
dems procesos existentes a correr.
S puede. Esto da como resultado el valor de Disponible ser (1, 1, 0, 0). Una orden
de los procesos que pueden terminar es P0, P2, P3, P1 y P4.

10. Cul es la suposicin optimista realizada en el algoritmo de deteccin de


interbloqueos? Cmo podra violarse esta suposicin?
La suposicin optimista es que no habr ninguna forma de espera circular en trminos
de recursos asignados y de los procesos de toma solicitudes de ellos. Esta hiptesis
podra violarse si una espera circular en efecto, en la prctica.

También podría gustarte