CARRERA DE SOFTWARE – 2023C2
Semana 7: Sesión 13 y 14
Miércoles, 15 de Noviembre de 2023
Viernes, 17 de Noviembre de 2023
96
Semana 7 - Sesión 13 y 14
Distribución de Actividades
Semana 7 – Sesión 13 y 14 Actividad Tiempo Evaluación
Actividades asistidas por el Clases en línea 4 horas Encuesta: Preguntas y respuestas
profesor
CARRERA DE SOFTWARE – 2023C2
Trabajo Colaborativo Resolución de 30 Foro de Preguntas y Respuestas:
problemas en línea: minutos Exposición mecanismos de
Sincronización de comunicación y sincronización de
procesos procesos parte 2
Trabajo autónomo Consulta o 2 horas Tarea:
Investigación de Resumen de documento y/o
temas: cuadros comparativos.
Cómo evitar Cómo evitar interbloqueos
interbloqueos
97 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Contenidos
• 2.4. Problemas Clásicos De Concurrencia:
• 2.4.1. El Peluquero Dormilón
CARRERA DE SOFTWARE – 2023C2
• 2.4.2. Problema De Lectores Y Escritores
• 2.4.3. Problema Del Productor Y Consumidor,
• 2.4.4. Problema De Los Filósofos Comensales.
• 2.5. Interbloqueo
• 2.5.1. Introducción a interbloqueos
• 2.5.2. Detección y recuperación de un interbloqueo
• 2.5.3. Como evitar interbloqueos
98 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Interbloqueo
• Cuando un proceso de un sistema de multiprogramación
espera en balde a que se presente un evento específico, se
CARRERA DE SOFTWARE – 2023C2
dice que se encuentra en un estado de interbloqueo o
bloqueo mutuo. Los procesos que pueden encontrase en esta
situación pueden ser uno o varios.
• En los sistemas de multiprogramación, compartir recursos es
uno de los principales objetivos del sistema operativo. Cuando
se comparten recursos entre una población de usuarios o
procesos, cada uno de los cuales mantiene un control
exclusivo sobre ciertos recursos asignados a él, es posible que
se produzcan bloqueos mutuos que impedirán la terminación
de algunos de los procesos del sistema.
99 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Interbloqueo
• Todos los interbloqueos suponen demandas contradictorias
de recursos por parte de dos o más procesos. La figura
CARRERA DE SOFTWARE – 2023C2
siguiente ilustra este conflicto de forma abstracta en el caso
de dos procesos y dos recursos. Los dos ejes del diagrama
representan el avance de los dos procesos en términos de
instrucciones ejecutadas. El avance conjunto de los dos
procesos se representa entonces con una secuencia discreta
de puntos en el espacio. Las líneas horizontales o verticales
representan el intervalo de tiempo en el que sólo uno de los
procesos está ejecutándose (intercalado); una línea diagonal
significa ejecución simultánea (solapamiento).
100 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Interbloqueo
• Supóngase que existe un punto en la ejecución de cada
proceso en el que se requiere el uso exclusivo de ambos
CARRERA DE SOFTWARE – 2023C2
recursos, R1 y R2, para continuar. En el ejemplo, llega un
punto en el que el proceso P1 ha adquirido el recurso R1 y el
proceso P2 ha adquirido el recurso R2, y cada proceso
necesita el otro recurso. Este es el punto de interbloqueo.
101 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Interbloqueo
CARRERA DE SOFTWARE – 2023C2
102 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Casos de Interbloqueo
• El caso más simple de interbloqueo sería el de un sólo
proceso que espera la ocurrencia de un evento y, sin
CARRERA DE SOFTWARE – 2023C2
embargo, el sistema no incluye la posibilidad de señalar dicha
ocurrencia. Es muy difícil detectar los bloqueos mutuos de
esta naturaleza. La mayor parte de los bloqueos mutuos
implican una competencia entre varios procesos por varios
recursos.
103 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Casos de Interbloqueo
• Holt (1972) utilizó grafos dirigidos para representar situaciones
de interbloqueo. Estos grafos tienen dos tipos de nodos:
CARRERA DE SOFTWARE – 2023C2
procesos, que se representan con círculos, y recursos,
representados por cuadrados. Si un proceso está utilizando un
recurso, previamente solicitado y concedido, se traza un arco
desde el nodo del recurso (cuadrado) hasta el proceso (círculo).
En la figura 2, el recurso R está en ese momento asignado al
proceso A. En b), el proceso B está solicitando el recurso s. Por
último, en c) se representa una situación de interbloqueo: el
proceso C está a la espera del recurso T, que está asignado al
proceso D. El proceso D no ha dejado T, porque está esperando a
que quede libre el recurso U, que, a su vez, está siendo utilizado
por C. Ambos esperarán indefinidamente.
104 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Casos de Interbloqueo
CARRERA DE SOFTWARE – 2023C2
105 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Casos de Interbloqueo
• El sistema operativo no está obligado a ejecutar los procesos en
ningún orden en particular. En concreto, si la concesión de un
CARRERA DE SOFTWARE – 2023C2
recurso a un proceso determinado puede provocar
interbloqueo, el sistema operativo es muy libre de suspender al
proceso y no atender su petición hasta que esté seguro de que
esto no conduce a una situación problemática. En la figura
siguiente, por ejemplo, si el sistema operativo supiera que se
avecinaba un interbloqueo, podría decidir suspender al proceso
B antes de concederle el recurso S. La ejecución sólo de los
procesos A y C produciría las secuencias de petición y liberación
de la figura 5.3 (k), en lugar de las de la figura 5.3 (d). Esta
secuencia de ejecución produce los grafos de recursos (l)-(q), y
no produce interbloqueo.
106 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Casos de Interbloqueo
• Después de la etapa (q), no hay ningún problema en conceder S
a B, ya que A ha terminado y C tiene todo lo que necesita.
CARRERA DE SOFTWARE – 2023C2
Aunque B se bloqueara al solicitar T, no se produciría
interbloqueo; B simplemente esperaría hasta que terminara C.
Fuente:
http://lsi.vc.ehu.es/pablogn/docencia/manuales/SO/TemasSOuJaen/INTERBLOQUEOS/1y2DefinicionesPreviasyCa
sosPosibles.htm
107 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Casos de Interbloqueo
CARRERA DE SOFTWARE – 2023C2
108 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Condiciones para que se produzca un interbloqueo
• Según Coffman, para que se pueda producir un interbloqueo se
tienen que dar las siguientes cuatro condiciones:
CARRERA DE SOFTWARE – 2023C2
– Exclusión mutua: cada recurso está asignado a un único proceso de manera
exclusiva.
– Retención y espera: los procesos que tienen, en un momento dado, recursos
asignados con anterioridad, pueden solicitar nuevos recursos y esperar a que
se le asignen sin liberar antes alguno de los recursos que ya tenía asignados.
– No apropiación: los recursos otorgados con anterioridad no pueden ser
forzados a dejar un proceso. El proceso que los posee debe liberarlos en forma
explícita. Ni siquiera el sistema operativo puede expropiárselo.
– Espera circular: debe existir una cadena circular de dos o más procesos, cada
uno de los cuales espera un recurso poseído por el siguiente miembro de la
cadena. Esta condición es una consecuencia potencial de las tres primeras, es
decir, dado que se producen las tres primeras condiciones, puede ocurrir una
secuencia de eventos que desemboque en un círculo vicioso de espera
irresoluble.
109 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Condiciones para que se produzca un interbloqueo
• Las tres primeras condiciones son necesarias, pero no suficientes
para que exista interbloqueo. Sólo las cuatro condiciones en
CARRERA DE SOFTWARE – 2023C2
conjunto constituyen una condición necesaria y suficiente para
el interbloqueo.
Fuente:
https://1984.lsi.us.es/wiki-
ssoo/index.php/Condiciones_para_el_interbloqueo_y_estrategias_de_resoluci%C3%B3n
110 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
Semana 7: Sesión 13 y 14
Video Complementario
Sistemas Operativos, Interbloqueo 1 Introducción (Duración
6:54 min)
CARRERA DE SOFTWARE – 2023C2
https://www.youtube.com/watch?v=ZVbpzTXlw8o
111 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp.
DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-MA-3-9]
CARRERA DE SOFTWARE – 2023C2
Semana 8: Sesión 15 y 16
Miércoles, 22 de Noviembre de 2023
Viernes, 24 de Noviembre de 2023
112