Está en la página 1de 37

Universidad

Técnica de Manabí

Unidad 3
Concurrencia, exclusión mutua y
sincronización

Sistemas Operativos

Ing. Víctor Martínez Falcones, Mg.


•Describir conceptos relacionados con
la concurrencia, exclusión mutua y
sincronización como base para su
aplicación en el entorno empresarial.

Resultado de aprendizaje

Universidad 2
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Tema 1: Concurrencia

Principio de Problemas de
concurrencia concurrencia

Requisitos para
Tipo de soluciones
resolver el problema

Universidad 3
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Antes que nada…

• ¿Qué es un proceso?
• ¿En que difiere los procesos de
los hilos?

Universidad 4
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Procesos

Procesos independientes Procesos cooperantes


• No comparten estado (unos aislados • Comparten estado, normalmente
de los otros). mediante variables compartidas entre
• Su ejecución es determinista los diferentes procesos/hebras.
• La ejecución del mismo programa con los • Ejecución no determinista o difícil de
mismos datos produce los mismos reproducir, dado que esta sometida a
resultados. condiciones de carrera.
• Cada proceso puede avanzar a un • ¿Por qué los procesos cooperantes?
ritmo arbitrario. • Ganar velocidad, solapando actividades o
realizando trabajo en paralelo.
• Compartir información entre trabajos.
• Estructurar mejor una aplicación

Universidad 5
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Principio de concurrencia

Universidad 6
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Principio de concurrencia

• N tareas ejecutan concurrentemente cuando se reparten el tiempo


y/o la CPU para ir ejecutando
• Sistema multiprogramado de un solo procesador
• Con 1 CPU, la concurrencia es “simulada”

CPU 1

Tiempo

Universidad 7
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Principio de
concurrencia
Sistema multiprocesador
• N tareas ejecutan concurrentemente
cuando se reparten el tiempo y/o la
CPU para ir ejecutando
• Concurrencia + paralelismo
• Con varias CPUs, parte es
paralelismo real, parte es
paralelismo simulado repartiendo t

Universidad 8
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Áreas fundamentales

• Gestión de múltiples • Gestión de múltiples • Gestión de múltiples


procesos dentro de procesos dentro de procesos que
un sistema un multiprocesador ejecutan sobre
monoprocesador múltiples sistemas
de cómputo
distribuidos
Procesamiento
Multiprogramación Multiprocesamiento
distribuido

Universidad 9
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
¿Para que la concurrencia?

• Para aprovechar mejor la CPU


• ej. interfaces de usuario reactivas
(siempre están dispuestas)
• ej. servidores con varios clientes
(ej. www)
• ej. sistemas de control industrial

Universidad 10
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Problemas de concurrencia

Universidad 11
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Problemas de la ejecución concurrente

1. Datos y recursos
compartidos.
2. Inconsistencia de los
datos
3. La acción de los
procesos
concurrentes
dependerá del
orden en como su
ejecución se
intercala.

Universidad 12
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Memoria compartida

Universidad 13
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Problemas de la ejecución concurrente (bar)

1.void bar(){
2. while(True){
3. beber();
4. usar_baño();
5. }
6.}

Universidad 14
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Problemas de la ejecución concurrente (transacción
bancaria)
Fondo USD $ 100, 00
Sucursal 1 Sucursal 2

Retiro = $80 Retiro = $70


Acceso
concurrente
Retiro Retiro
• Por lo tanto: El resultado de la ejecución depende
<=
del
<=
Fondo orden Fondo
• ¿Cómo deben coordinarse los procesos, es decir,
Autorizado Autorizado
Cliente 1 retira sus 80 y en el fondo queda 20?
Fondo -= Retiro Fondo -= Retiro
Condición
de carrera

Universidad 15
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
• Se produce una condición de
carrera (race condition) cuando el
Condición de carrera resultado de la ejecución de dos o
más procesos, que comparten
variables comunes, depende de la
velocidad relativa a la que cada
proceso se ejecuta, es decir, del
orden en el que se ejecutan las
instrucciones.

Universidad 16
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Condición de carrera

• Dos hebras ejecutan los código que se muestra abajo y comparten la


variable i=0 (inicialemente) ¿Cuál de ellas gana?

Universidad 17
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Condición de carrera
Código completo

Universidad 18
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Problemas de la ejecución concurrente (transacción
bancaria)
Fondo USD $ 100, 00
Sucursal 1 Sucursal 2

Retiro = $80 Retiro = $70

Retiro Acceso Retiro


<= concurrente <=
Fondo Sección Fondo
Autorizado crítica NO Autorizado
Fondo -= Retiro

Universidad 19
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
El problema de la Sección Crítica (SC)

• Sean n procesos compitiendo • Problema:


todos para usar algunos datos • Asegurar que cuando un proceso
compartidos. está ejecutando su SC, ningún otro
proceso puede ejecutarse en la
• Cada proceso tiene un segmento suya, es decir, asegurar que
de código, denominado Sección múltiples instrucciones, las SCs,
Crítica (SC), en el que accede a parezcan una única instrucción.
los datos compartidos.

Universidad 20
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
El problema de la Sección Crítica (SC)

Universidad 21
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Interbloqueo

• Dados:
• Procesos ejecutándose
• Recursos que son utilizados por dichos
procesos
• Interbloqueo: cuando todos los procesos se
encuentran esperando un recurso que
mantiene retenido otro proceso del grupo
• Ningún proceso del grupo puede evolucionar.
• Ningún proceso podrá obtener los recursos
retenidos.
Universidad 22
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Panorama para el análisis de las
soluciones

Universidad 23
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Panorama para el análisis de las soluciones

• Cada proceso o hilo se ejecuta a


1.while (True){ velocidad diferente a cero
2. seccion_entrada();
• No se asume nada en la
3. seccion_critica();
velocidad relativa de n procesos e
4. seccion_salida();
5. seccion_restante();
hilos.
6.}

Universidad 24
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Requisitos para resolver el
problema de concurrencia

Universidad 25
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
¿Como resolver el problemas de la ejecución concurrente?

Universidad 26
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
¿Como resolver el problemas de la ejecución concurrente?
• Exclusión mutua
• Un proceso puede estar en la SC.

Universidad 27
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Excusión mutua

Universidad 28
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Como resolver el problemas de la ejecución concurrente?
• Progreso
• Únicamente participan los
procesos que están listos a entrar a
la SC.
• Proceso de selección no puede
posponerse indefinidamente Decisión

Universidad 29
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Como resolver el problemas de la ejecución concurrente?
• Espera limitada
• Existe un limite de veces para
acceder a la SC, de lo contrario
existirá inanición.

Decisión

Universidad 30
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Como resolver el problemas de la ejecución concurrente?
• Espera limitada
• Existe un limite de veces para
acceder a la SC, de lo contrario
existirá inanición.

Universidad 31
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Tipo de soluciones

Universidad 32
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Soluciones implementadas

Software Operación del


• Algoritmos sistema
• Programador
Hardware
• Instrucciones de máquina

Universidad 33
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Principio de concurrencia

• Concurrencia implica:
• Competencia
• Por los recursos comunes
• Sincronización
• Para coordinar actividades
• Cooperación
• Para intercambiar información
• Ejemplo:
• 2 amigos preparando la comida

Universidad 34
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Preocupaciones del sistema operativo

• Seguir la pista de varios procesos.


• PCB
• Ubicar y desubicar recursos para
cada proceso activo.
• Tiempo de procesador.
• Memoria.
• Ficheros.
• Dispositivos de E/S
• Proteger los datos y recursos
físicos de cada proceso.
Universidad 35
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Próxima clase…

• Paralelismo y concurrencia • Selección de grupos:


• Programación concurrente • Algunos grupos se mantienen (buen
rendimiento)
• Condición de carrera
• Los demás se re-ubicarán (máximo 2
• Exclusión mutua personas)
• Algoritmos de programación • Actividades para la unidad 3
concurrente para exclusión mutua 1. A. Autónoma (5pts)
2. A. Práctica (5pts)
3. Lección (2.5 pts)
4. A. Opcional (5 pts).
1. Aplicación con Java e Hilos
2. Informe
3. Defensa

Universidad 36
28/12/2022 Ing. Víctor Martínez F. Mg. - Tema 1: Concurrencia
Técnica de Manabí
Universidad
Técnica de Manabí

Gracias

También podría gustarte