Sémaphore

Définition - Que signifie sémaphore?

Un sémaphore est un objet de synchronisation qui contrôle l'accès de plusieurs processus à une ressource commune dans un environnement de programmation parallèle. Les sémaphores sont largement utilisés pour contrôler l'accès aux fichiers et à la mémoire partagée. Les trois fonctionnalités de base associées aux sémaphores sont définies, vérifiées et attendez qu'il soit effacé pour le réinitialiser. |

Les sémaphores sont utilisés pour résoudre les problèmes de synchronisation de référence.

Le concept de sémaphore a été proposé par l'informaticien néerlandais Edsger Dijkstra.

Definir Tech explique Sémaphore

Les sémaphores sont des valeurs entières non négatives qui prennent en charge les opérations sémaphore-> P () et sémaphore-> V (). P est une opération atomique qui attend qu'un sémaphore soit positif puis le décrémente de un, tandis que V est une opération atomique qui incrémente un sémaphore de un, ce qui implique qu'il réveille une attente P. Le test et l'ensemble associés au sémaphore sont des routines implémenté dans le matériel pour coordonner les sections critiques de niveau inférieur.

Les sémaphores sont normalement implémentés à l'aide de descripteurs de fichiers. Les créations de sémaphore ne sont pas atomiques. Si deux processus tentent de créer, d'initialiser et d'utiliser un sémaphore en même temps, une condition de concurrence est créée. Les sémaphores sont créés et initialisés à une valeur positive pour montrer la disponibilité d'une ressource à utiliser. Les sémaphores peuvent être implémentés via des interruptions ou en utilisant des opérations de test.

Chaque sémaphore maintient des ensembles de permis. Il limite le nombre de threads accédant aux ressources. Les sémaphores avec un seul permis et initialisés à un servent de verrous d'exclusion mutuelle. Ils sont désignés comme tels parce qu'ils n'ont que deux états: permis disponible ou aucun permis disponible. Cela entoure la propriété afin qu'un verrou puisse être libéré par un thread autre que le propriétaire, aidant à la récupération de blocage. Les sémaphores sont utilisés pour les exclusions mutuelles où le sémaphore a une valeur initiale de un, et P () et V () sont appelés avant et après les sections critiques.