Quand doit-on utiliser les mutex et quand doit-on utiliser un sémaphore

Quand doit-on utiliser les mutex et quand doit-on utiliser un sémaphore ?