7
INSTITUTO UNIVERSITARIO DE TECNOLOGÍA “ANTONIO JOSÉ DE SUCRE” EXTENSIÓN BARQUISIMETO Elaborado por: Beberlin Villasmil C.I 24.393.858 Wilmer Santeliz C.I 18.970.715 Ejercicios de Interbloqueos

Ejercicios de Interbloqueos

Embed Size (px)

Citation preview

Page 1: Ejercicios de Interbloqueos

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA“ANTONIO JOSÉ DE SUCRE”EXTENSIÓN BARQUISIMETO

Elaborado por:

Beberlin Villasmil C.I 24.393.858

Wilmer Santeliz C.I 18.970.715

Informática “A”

Profesora: Yanmelia Crespo

Barquisimeto, Julio 2014

Ejercicios de Interbloqueos

Page 2: Ejercicios de Interbloqueos

1. Dado el siguiente estado de asignación de recursos

Procesos Asignados Necesidad máxima

P1 1 4

P2 4 6

P3 5 8

¿Cuál es el número máximo de recursos que deben estar disponibles para que el

algoritmo del Banquero considere que se trata de un estado seguro?

Para dar respuesta a la siguiente pregunta, debemos tener una formula con la cual poder

sacar cual es el número máximo de recursos que estarán disponibles:

Necesidades = Máxima – Asignación

Necesidades = Número máximo de recursos disponible

Máxima = Necesidad máxima

Asignados = Recursos asignados

P1=4-1 Entonces P1= 3

P2=6-4 Entonces P2=2

P3=8-5 Entonces P3=3

2. Ejemplifique 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.

La inanición es un problema relacionado con los sistemas Multitareas, donde a un

proceso específico o un hilo de ejecución (subproceso) se le deniega siempre el acceso

Page 3: Ejercicios de Interbloqueos

a un recurso compartido. Sin este recurso, la tarea a ejecutar no puede ser nunca

finalizada.

La inanición es una situación similar al INTERBLOQUEO pero las causas son diferentes.

En el INTERBLOQUEO, dos procesos o dos hilos de ejecución llegan a un punto muerto

cuando cada uno de ellos necesita un recurso que es ocupado por el otro. En cambio, en

este caso, uno o más procesos están esperando recursos ocupados por otros procesos que no

se encuentran necesariamente en ningún punto muerto

Ejemplo de Inanición sin Interbloqueo:

En una Organización se tiene una RED configurada para “X” usuarios conectados vía

cableado estructurados e igualmente, posee una cantidad “Y” que pueden conectarse de

forma inalámbrica. De la misma manera, se posee una Impresora única de RED, que sirve a

TODOS los usuarios que a ella se conecten.

El Stack de servicio de cola de impresión configurada a dicha impresora es de “N”

servicios.

Una vez que la cola de servicios se “copa” o “llena” NO va a permitir que un nuevo

requerimiento, es decir, el servicio “n+1” entre a la cola de atención de la Impresora, hasta

que se libere el espacio que le permita incorporarse al Stack configurado.

Ejemplo de Inanición con Interbloqueo:

El Dead Lock, ocurre mucho en la programación o manejo de base de datos, - si estas no

poseen activos ciertas condiciones en el momento de su instalación.

Por ejemplo, dos usuarios distintos, pero con las mismas autorizaciones y dimensiones,

desean acceder a un registro “X”, pero el tiempo de reloj o velocidad de procesador, no

permite, por asignación de recursos, “bloquear” el acceso a ese registro, y ocurre que

ambos usuarios “llegan” al mismo tiempo al registro “X”, en sí, el CPU “no sabe” a quien

darle o “soltarle” el registro solicitado. Allí puede , de seguro, ocurrir un Dead Lock.

Page 4: Ejercicios de Interbloqueos

Se tienen dos procesos que desean imprimir un archivo situado en una cinta al mismo

tiempo. El proceso A solicita en uso exclusivo la impresora mientras el proceso B solicita el

uso exclusivo de la cinta. El proceso A no puede comenzar la impresión porque no tiene

acceso a la cinta, pero no libera la impresora. Mientras tanto, el proceso B no inicia la

impresión ya que no tiene acceso a la impresora, pero no libera la apropiación de la cinta.

Se dice que los procesos se han bloqueado y permanecerá así para siempre, en un bucle de

espera infinita, si el SO no se encarga de solucionarlo.

3. Sean 4 procesos y se tienen 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

Calcule G y su representación Gráfica

P1 P2 P3 P4

R1 R2 R3

Page 5: Ejercicios de Interbloqueos

R15U

R23 U

R34 U

{P1, P2, P3, P4, R1 (5), R2 (3), R3 (4)}

{R3 P1, R3 P1, R3 P1, R1 P2, R1 P2, R2 P3, R2 P3, R2 P3, R1 P4}

4. 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?

Se tienen dos tipos de recursos con 3 unidades de cada uno, es decir:

R1 (X1, X2, X3)

R2 (Y1, Y2, Y3)

Y cada proceso necesita una 'X' y 'Y', es decir:

P1 (X1 y Y1)

P2 (X2 y Y2)

P3 (X3 y Y3)

Entonces:

Podría concluir primeramente que debemos conocer la inacción y el interbloqueo y la

relación q tienen ambos. Los diseñadores y los programadores deben tener en cuenta en la

parte de red y en la programación para no tener esos problemas.

Entonces serían posibles solo 3 procesos, para que no ocurra un interbloqueo en el sistema.

Page 6: Ejercicios de Interbloqueos