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