1. INSTITUTO UNIVERSITARIO DE TECNOLOGIA
“ANTONIO JOSE DE SUCRE”
EXTENSIÓN BARQUISIMETO
Elaborado por:
Padivi Hidalgo C.I 22.335.802
José Tua C.I 20.017.686
Informática “A”
Prof. Yanmelia Crespo
2. 1. 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
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.
3. 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.
2. 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 (5), R2 (3), R3 (4)}
{R3 P1, R3 P1, R3 P1, R1 P2, R1 P2, R2 P3, R2 P3, R2 P3, R1 P4}
4. 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?
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.
R1
5U
R2
3U
R2
3U