0
The key advantage of using a semaphore over a simple shared flag variable for process synchronization is that semaphore operations are:
- AFaster to execute
- BAtomic, preventing a race condition during the check-and-update step
- CUsable only by the kernel
- DRestricted to binary (0/1) values only
Correct answer: B