Está en la página 1de 5

www.utel.edu.

mx
01.800.444.8835
(55) 3684.1404
Nombre de la materia
Sistemas operativos

Nombre de la Licenciatura
Ingeniería en Sistemas Computacionales

Nombre del alumno

Matrícula

Nombre de la Tarea
Bloqueos mutuos

Nombre del Profesor

Fecha

1
www.utel.edu.mx
01.800.444.8835

BLOQUEOS MUTUOS (55) 3684.1404

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
sólo otros miembros del conjunto pueden ocasionar. Esta situación hace que todos los
procesos esperen para siempre.Deben presentarse tres condiciones de gestión para que sea
posible un interbloqueo:
1. Exclusión mutua. Sólo un proceso puede utilizar un recurso en cada momento ningún
proceso puede acceder a una unidad de un recurso que se ha asignado a otro
proceso.
2. Retención y espera. Un proceso puede mantener los recursos asignados mientras
espera la asignación de otros recursos.
3. Sin expropiación. No se puede forzar la expropiación 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 condición 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 definición del interbloqueo.

 ¿Cómo 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 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.
La secuencia de eventos necesarios para utilizar un recurso es la siguiente:
1. Solicitar el recurso.
2. Utilizar el recurso.
3. Liberar el recurso.

2
www.utel.edu.mx
01.800.444.8835
Si el recurso no está disponible cuando se lo solicita: (55) 3684.1404
 El proceso solicitante debe esperar.
 En algunos S.O. el proceso se bloquea automáticamente 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 informática.


Tráfico de vehículos: Uno de los objetivos de las señales de trafico y de las normas
de circulación es resolver los posibles interbloqueos entre los vehículos.
El arco y la flecha: Dos niños 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 filósofos comensales: Debido a su falta de habilidad manual, cada
filósofo 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
filósofo, y cinco tenedores. Un filósofo 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: diseñar un ritual (algoritmo) que permita a los
filósofos comer. El algoritmo debe satisfacer la exclusión mutua (no puede haber dos
filósofos que puedan utilizar el mismo tenedor a la vez) evitando el interbloqueo y la
inanición.

 Imagina un sistema con un único tipo de recurso con N unidades disponibles,


donde se ejecutan P procesos que utilizan el mismo número de unidades del
recurso. ¿Cuál es el número máximo 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.

3
www.utel.edu.mx
01.800.444.8835
 (55) 3684.1404
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. ¿Cuál es el
máximo 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: Serían posibles solo 3 procesos,
para que no haya interbloqueo en el sistema.

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 más procesos, o forzar que la
ejecución de uno o más procesos retroceda. El interbloqueo puede involucrar a recursos
reutilizables o consumibles. Un recurso reutilizable es aquél que no se destruye cuando se
usa, como un canal de E/S o una región de memoria. Un recurso consumible es aquél que
se destruye cuando lo adquiere un proceso; algunos ejemplos son los mensajes y la
información almacenada en buffers de E/S.
Hay tres estrategias generales para tratar con los interbloqueos: prevención, detección y
predicción. La prevención del interbloqueo garantiza que no se produce el interbloqueo
asegurándose de que no se cumple una de las condiciones necesarias para el interbloqueo.
La detección del interbloqueo es necesaria si el sistema operativo está siempre dispuesto a
conceder peticiones de recursos; periódicamente, el sistema operativo debe comprobar si
hay interbloqueo y tomar las acciones pertinentes para romperlo. La predicción del
interbloqueo implica el análisis de cada nueva petición de un recurso para determinar si
podría conducir a un interbloqueo, concediéndola sólo si no es posible el interbloqueo.

Referencias bibliográficas
WILLIAM STALLINGS. (2005 respecto a la primera edición en castellano).
Sistemas operativos Aspectos internos y principios de diseño. C/ Ribera del Loira,
28 28042 Madrid (España): PEARSON EDUCACIÓN, S.A..

4
www.utel.edu.mx
01.800.444.8835
(55) 3684.1404
ANDREW S. TANENBAUM. (2009). SISTEMAS OPERATIVOS MODERNOS.
Col. Industrial Atoto 53519, Naucalpan de Juárez, Estado de México: Pearson
Educación de México, S.A. de C.V..

También podría gustarte