nSemaphores
provide a powerful tool for enforcing mutual exclusion and coordinate processes
nBut wait(S) and signal(S) are scattered among several
processes. Hence, difficult to understand their effects
nUsage must be correct in all the processes
nOne bad (or malicious) process can fail the entire collection
of processes