Broadcom interview question

explain mutex and semaphore. How to use them?