Semáforo

Definición - ¿Qué significa Semaphore?

Un semáforo es un objeto de sincronización que controla el acceso de múltiples procesos a un recurso común en un entorno de programación paralelo. Los semáforos se utilizan ampliamente para controlar el acceso a archivos y memoria compartida. Se configuran las tres funcionalidades básicas asociadas con los semáforos, verifique y espere hasta que se borre para configurarlo nuevamente. |

Los semáforos se utilizan para abordar problemas de sincronización de referencia.

El concepto de semáforo fue propuesto por el informático holandés Edsger Dijkstra.

Techinfo explica Semáforo

Los semáforos son valores enteros no negativos que admiten las operaciones semáforo-> P () y semáforo-> V (). P es una operación atómica que espera a que un semáforo sea positivo y luego lo disminuye en uno, mientras que V es una operación atómica que incrementa un semáforo en uno, lo que implica que despierta un P. en espera. La prueba y el conjunto asociados con el semáforo son rutinas implementado en hardware para coordinar secciones críticas de nivel inferior.

Los semáforos se implementan normalmente mediante descriptores de archivo. Las creaciones de semáforos no son atómicas. Si dos procesos intentan crear, inicializar y usar un semáforo al mismo tiempo, se crea una condición de carrera. Los semáforos se crean y se inicializan con un valor positivo para mostrar la disponibilidad de un recurso que se utilizará. Los semáforos se pueden implementar mediante interrupciones o mediante el uso de operaciones de prueba.

Cada semáforo mantiene conjuntos de permisos. Restringe el número de subprocesos que acceden a los recursos. Los semáforos con un solo permiso e inicializados a uno sirven como bloqueos de exclusión mutua. Se les conoce como tales porque solo tienen dos estados: permiso disponible o permiso cero disponible. Esto encierra la propiedad para que un subproceso que no sea el propietario pueda liberar un bloqueo, lo que ayuda en la recuperación del interbloqueo. Los semáforos se utilizan para exclusiones mutuas en las que el semáforo tiene un valor inicial de uno y se llaman P () y V () antes y después de las secciones críticas.