interbloqueos ejercicios

11
INTERBLOQUEOS Edwin Garces Instituto Universitario de Tecnologia Antonio Jose de Sucre Escuela de informatica

Upload: edwin-garces

Post on 15-Aug-2015

36 views

Category:

Technology


1 download

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.

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 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

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.