Download - Ejercicios de Interbloqueos
![Page 1: Ejercicios de Interbloqueos](https://reader036.vdocuments.co/reader036/viewer/2022081813/55cf94dc550346f57ba4ead8/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081813/55cf94dc550346f57ba4ead8/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081813/55cf94dc550346f57ba4ead8/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081813/55cf94dc550346f57ba4ead8/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081813/55cf94dc550346f57ba4ead8/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081813/55cf94dc550346f57ba4ead8/html5/thumbnails/6.jpg)