Please enable JavaScript.
Coggle requires JavaScript to display documents.
Semáforos - Coggle Diagram
Semáforos
Su valor son enteros no negativos >= 0.
Dos operaciones atómicas:
V: Incrementa
En
binarios
ambas operaciones son bloqueantes.
P: Decrementa
En
generales
solo esta operacion es bloqueante
Instancia de objeto
No hay orden en la espera
Sincronizan procesos concurrentes.
Problemas básicos y técnicas
Sección Crítica: Exclusión Mutua
Productores y Consumidores:
semáforos binarios divididos
Un productor y multipes consumidores
En un Semáforo Binario Dividido:
La suma de todos los semáforos binarios en un SBS siempre estará entre 0 y 1.
Un proceso que acceso a una sección crítica
• comienza bloqueando (P)
uno
de los semáforos
• termina desbloqueando (V)
otro
semáforo.
Barreras: señalización de eventos
Un proceso notifica a otros procesos sobre la ocurrencia de un evento que otros procesos esperan
Buffers Limitados: Contadores de Recursos
Productor-Consumidor donde el productor deposita mensajes en el buffer y el consumidor los retira.
Si hay mas de un consumidor y productores:
Se utiliza un semáforo mutex para garantizar la exclusión mutua
Se debe tener cuidado para evitar deadlock, asegurando que los semáforos se adquieran en el orden correcto.
Filósofos
Exclusión mutua selectiva
Un filósofo sólo intenta adquirir los semáforos de los tenedores a su izquierda y a su derecha
Desafío: Evitar el deadlock y la inanición
Lectores y escritores
Ambos comparten un recurso
Los lectores pueden acceder de manera concurrente para leer
Los escritores necesitan acceso exclusivo para escribir.
Exclusión mutua
Los escritores: Utilizan un mutex "normal" para adquirir la SC
Los lectores verifican no hay escritores activos
Luego si ya existe un lector en la SC pasan directamente
No es Fair (justa), preferencia a los lectores
Sincronización por condición
Passing the baton: