title: How are mutex and lock structures implemented?
body: <p>I understand the concept of locks, mutex and other synchronization structures, but how are they implemented?  Are they provided by the OS, or are these structures dependent on special CPU instructions for the CPUs MMU?  </p>