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

h8UQZNHhU3e_bXtIYBBFczPm8RKohTec-e1CT72r

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

55Cwi1PQAC-MJM-vH_LjzW-xRroa9hgAcLxuHyiu

q2DrTaJhs_DKi_izNUzwcFADnmLE8Fix_ICePoSb

tH-b7LacvQyiIQCtKBuJxwBPylEo4JxcKw0ea7Pe

CJkGFLTH5xlrvRXBsHoxXYc0B5jQ7YuNRCGlaIFp

Entradas relacionadas: