COUNTING SEMAPHORES
mutual exclusion semaphore