Разница между мьютексами и семафорами в том, что мьютекс позволяет войти в критическую секцию только одному потоку, тогда как семафор - заданному количеству. При входе нового потока в критическую секцию переменная семафора увеличивается на 1, а при выходе - уменьшается на 1. Вроде бы так.
Подробнее можно тут почитать:
http://www.intuit.ru/department/os/osintro/6/