Informatica
Procesos Concurrentes Interdependientes ó Cooperativos: Sícomparte recursos y se intercomunica con otros procesos
Sincronización de Procesos: Mecanismos que permiten la comunicación y/o exclusividad mutua entre procesos
Semáforos
•Definición deSemáforos e implementación con espera activa.
Un mecanismo semáforo consta básicamente de dos operaciones primitivas señal (Signal) y espera (Wait) (Originalmente definidas como P y V por Disjkstra), queoperan sobre un tipo especial de variable semáforo, “s”. La variable semáforo puede tomar valores enteros y, excepto posiblemente en su inicialización, solo puede ser accedida y manipulada por mediode las operaciones SIGNAL y WAIT. Ambas primitivas llevan un argumento cada una, la variable semáforo, y pueden definirse del modo siguiente..:
SIGNAL (s) ..:
Incrementa el valor de suargumento semáforo, s , en una operación indivisible.
WAIT (s) ..:
Decrementa el valor de su argumento semáforo, s , en tanto el resultado no sea negativo. La conclusión de la operación WAIT, unavez tomada la decisión de decrementar su argumento semáforo, debe ser individual.
Ejemplo..:
Wait(s): While not (s > 0 ) do {Seguir Probando};
S := s - 1;
Signal(s) s := s + 1;
Unsemáforo cuya variable solo tiene permitido tomar los valores 0 (ocupado) y 1 (libre) se denomina Semáforo Binario. Un Semáforo General puede tomar cualquier valor entero. La lógica de las operaciones WAITy SIGNAL aplica tanto para Semáforos Binarios como Semáforos Generales.
Propiedades
Los semáforos son un mecanismo relativamente sencillo pero poderoso de asegurar la exclusión mutua entreprocesos concurrentes para acceder a un recurso compartido. En vez de que lo usuarios inventen sus propios protocolos de sincronización (tarea difícil y traicionera) los semáforos son una herramienta...
Regístrate para leer el documento completo.