Pregunta de entrevista de Broadcom

explain mutex and semaphore. How to use them?