nSynchronization tool (provided by the OS) that do not
require busy waiting
nA semaphore S is an integer variable that, apart from
initialization, can only be accessed through 2 atomic and mutually exclusive operations:
uwait(S)
usignal(S)
nTo avoid busy waiting: when a process has to wait, it will
be put in a blocked queue
of processes
waiting for the same event