The term mutex is shorthand for mutual exclusion. In the context of shared resources and tasks, mutual exclusion means that, if a task is using a shared resource, then that task is the only task that is permitted to use the resource – all others will need to wait.
If all this sounds a lot like a binary semaphore, that's because it is. However, it has an additional feature that we'll cover soon. First, let's take a look at the problem with using a binary semaphore to provide mutual exclusion.