Mecanismos de Sincronización: Sleep, Wakeup, Semáforos y Mutex
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 2,48 KB
Mecanismos de Sincronización
Sleep y Wakeup
Problema:
- Espera activa
- Inversión de prioridades, hambruna
Solución:
- SLEEP y WAKEUP
- Se bloquean, no desperdician tiempo de CPU
- SLEEP: llamada al sistema, hace que el invocador se bloquee.
- WAKEUP: llamada que activa al proceso que lleva como parámetro.
- Se relacionan a partir de una dirección de memoria
Semáforo
Es una variable entera, que contabiliza el número de señales de despertar (wakeup) guardadas.
- Si es 0, no se tienen señales de despertar.
- Si es positivo, hay una o más señales de despertar pendientes.
Evita la espera activa
Mutex
Es un tipo abstracto de datos (TAD), con las siguientes operaciones:
- Una inicialización
- Bajar - P (down, wait): una generalización de SLEEP.
- Subir - V (up, signal): una generalización de WAKEUP.
Definición:
P (proberen) S es la variable entera asociada al semáforo.
P: verifica el valor de S
- Si S>0 decrementa el valor de S (gasta una señal de despertar).
- Sino el proceso que lo invoca se pone a esperar sin poder completar la operación P. No realiza espera activa