Exclusion mutuelle (mutex)

Définition - Que signifie l'exclusion mutuelle (Mutex)?

Une exclusion mutuelle (mutex) est un objet programme qui empêche l'accès simultané à une ressource partagée. Ce concept est utilisé dans la programmation simultanée avec une section critique, un morceau de code dans lequel des processus ou des threads accèdent à une ressource partagée. Un seul thread possède le mutex à la fois, donc un mutex avec un nom unique est créé au démarrage d'un programme. Lorsqu'un thread contient une ressource, il doit verrouiller le mutex des autres threads pour empêcher l'accès simultané de la ressource. Lors de la libération de la ressource, le thread déverrouille le mutex.

Definir Tech explique l'exclusion mutuelle (Mutex)

Mutex entre en scène lorsque deux threads travaillent sur les mêmes données en même temps. Il agit comme un verrou et est l'outil de synchronisation le plus basique. Lorsqu'un thread tente d'acquérir un mutex, il obtient le mutex s'il est disponible, sinon le thread est mis en état de veille. L'exclusion mutuelle réduit la latence et les temps d'attente occupés à l'aide de la mise en file d'attente et des commutateurs de contexte. Mutex peut être appliqué aux niveaux matériel et logiciel.

La désactivation des interruptions pour le plus petit nombre d'instructions est le meilleur moyen d'appliquer le mutex au niveau du noyau et d'empêcher la corruption des structures de données partagées. Si plusieurs processeurs partagent la même mémoire, un indicateur est défini pour activer et désactiver l'acquisition de ressources en fonction de la disponibilité. Le mécanisme d'attente occupé applique le mutex dans les zones logicielles. Ceci est fourni avec des algorithmes tels que l'algorithme de Dekker, l'algorithme de boulangerie noir-blanc, l'algorithme de Szymanski, l'algorithme de Peterson et l'algorithme de boulangerie de Lamport.

Des lecteurs mutuellement exclusifs et des codes de classe mutex en lecture / écriture peuvent être définis pour une implémentation efficace de mutex.