Sunteți pe pagina 1din 4

DESARROLLO

El interbloqueo es un problema potencial en cualquier sistema operativo. Ocurre cuando todos los
miembros de un conjunto de procesos se bloquean en espera de un evento que slo otros miembros
del conjunto pueden ocasionar. Esta situacin hace que todos los procesos esperen para siempre.
Deben presentarse ciertas condiciones de gestin para que sea posible un interbloqueo:
1. Exclusin mutua. Slo un proceso puede utilizar un recurso en cada momento ningn proceso
puede acceder a una unidad de un recurso que se ha asignado a otro proceso.
2. Retencin y espera. Un proceso puede mantener los recursos asignados mientras espera la
asignacin de otros recursos.
3. Sin expropiacin. No se puede forzar la expropiacin de un recurso a un proceso que lo
posee.
4. Espera circular. Existe una lista cerrada de procesos, de tal manera que cada proceso posee
al menos un recurso necesitado por el siguiente proceso de la lista.
Las tres primeras condiciones son necesarias pero no suficientes para que exista un interbloqueo. La
cuarta condicin es, realmente, una consecuencia potencial de las tres primeras. Es decir, si se
cumplen las tres primeras condiciones, se puede producir una secuencia de eventos que conduzca a
una espera circular irresoluble. La espera circular irresoluble es de hecho la definicin del
interbloqueo.

Cmo los bloqueos ayudan al sistema operativo para su buen funcionamiento?


No lo hacen. Es el bloqueo permanente de un conjunto de procesos o hilos de ejecucin 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 solucin general para los
interbloqueos. La secuencia de eventos necesarios para utilizar un recurso es la siguiente:
1. Solicitar el recurso.
2. Utilizar el recurso.
3. Liberar el recurso.

Si el recurso no est disponible cuando se lo solicita:


El proceso solicitante debe esperar.
En algunos S.O. el proceso se bloquea automticamente y se despierta cuando dicho recurso
est disponible.
En otros S.O. la solicitud falla y el proceso debe esperar para luego intentar nuevamente.

Enlista algunos ejemplos de interbloqueo, ajenos al mbito de la informtica.


Trfico de vehculos: Uno de los objetivos de las seales de trafico y de las normas de
circulacin es resolver los posibles interbloqueos entre los vehculos.
El arco y la flecha: Dos nios que intentan jugar al arco y flecha, uno toma el arco, el otro la
flecha. Ninguno puede jugar hasta que alguno libere lo que tom.
El problema de los filsofos comensales: Debido a su falta de habilidad manual, cada
filsofo necesita dos tenedores para comer los espaguetis.una mesa redonda en la que est
colocado un gran cuenco para servir espaguetis, cinco platos, uno para cada filsofo, y cinco
tenedores. Un filsofo que quiere comer se dirige a su sitio asignado en la mesa y, utilizando
los dos tenedores situados a cada lado del plato, toma y come algunos espaguetis. El
problema: disear un ritual (algoritmo) que permita a los filsofos comer. El algoritmo debe
satisfacer la exclusin mutua (no puede haber dos filsofos que puedan utilizar el mismo
tenedor a la vez) evitando el interbloqueo y la inanicin.

Imagina un sistema con un nico tipo de recurso con N unidades disponibles, donde se
ejecutan P procesos que utilizan el mismo nmero de unidades del recurso. Cul es el
nmero mximo de unidades que puede solicitar cada proceso de manera que se asegure que
no puede haber interbloqueo?
Espera circular.
Dependencia: Si un proceso P1 est suspendido en espera de un recurso exclusivo que est
asignado a otro proceso P2, entonces decimos que P1 depende de P2 (P1 <= P2).
Existe una cadena circular de procesos en espera de un recurso, si existe una cadena de
dependencias entre procesos de la forma
P1 <= P2 <= P3 <= ... <= Pn <= P1.

2
Considera un sistema con dos tipos de recursos, con tres unidades disponibles para cada
uno de ellos. En este sistema se ejecutan procesos de forma tal que cada uno de ellos
necesita una unidad de cada tipo de recurso. Cul es el mximo de procesos que puede
existir de forma que se asegure que no puede haber interbloqueo?
Se tienen 2 tipos de recursos, con 3 unidades de cada uno, es decir: R1 (X1, X2, X3) R2 (Y1, Y2, Y3)
Y cada proceso que se ejecuta necesita una 'X' y 'Y', es decir: P1 (X1 y Y1) P2 (X2 y Y2) P3 (X3 y
Y3) Se concluye que: Seran posibles solo 3 procesos, para que no haya interbloqueo en el sistema.

CONCLUSION

El interbloqueo es el bloqueo de un conjunto de procesos que o bien compiten por recursos del
sistema o se comunican entre s. El bloqueo es permanente a menos que el sistema operativo tome
acciones correctivas, como abortar uno o ms procesos, o forzar que la ejecucin de uno o ms
procesos retroceda. El interbloqueo puede involucrar a recursos reutilizables o consumibles. Un
recurso reutilizable es aqul que no se destruye cuando se usa, como un canal de E/S o una regin
de memoria. Un recurso consumible es aqul que se destruye cuando lo adquiere un proceso;
algunos ejemplos son los mensajes y la informacin almacenada en buffers de E/S. Hay tres
estrategias generales para tratar con los interbloqueos: prevencin, deteccin y prediccin. La
prevencin del interbloqueo garantiza que no se produce el interbloqueo asegurndose de que no se
cumple una de las condiciones necesarias para el interbloqueo. La deteccin del interbloqueo es
necesaria si el sistema operativo est siempre dispuesto a conceder peticiones de recursos;
peridicamente, el sistema operativo debe comprobar si hay interbloqueo y tomar las acciones
pertinentes para romperlo. La prediccin del interbloqueo implica el anlisis de cada nueva peticin
de un recurso para determinar si podra conducir a un interbloqueo, concedindola slo si no es
posible el interbloqueo

3
4

S-ar putea să vă placă și