Futex
Un Futex (anglais : Fast Userspace Mutex) est un mécanisme élémentaire et rapide de verrouillage en mode utilisateur, qui permet également de construire des éléments plus élaborés tels que les sémaphores ou les mutex POSIX sous Linux.
Les Futex sont apparus sous Linux à partir de la version 2.5.7, et en série dans les versions 2.6.x du noyau. Ils ont été créés par Hubertus Franke (ingénieur chez IBM), Matthew Kirkwood, Ingo Molnar (Red Hat) et Rusty Russell (IBM Linux Technology Center).
Un Futex comporte un bout de mémoire (un entier), qui est partagé entre les processus actifs. Ce nombre est incrémenté ou décrémenté par des instructions atomiques (indivisibles). Les processus doivent attendre que ce nombre redevienne positif pour se lancer.
Voir aussi
Articles connexes
Références
- Rusty Russell, fuss, futexes and furwocks: Fast Userlevel Locking in Linux, Ottawa Linux Symposium 2002
Liens externes
- (en) Futex manpages ;
- (en) "Futexes Are Tricky", un texte expliquant ce que sont les Futex et comment les utiliser, par Ulrich Drepper ;
- (en) Le texte de Russel (format PDF).