Semaphores are not an Oracle concept per-se but a concept rooted in some Unix flavors. Please note AIX which is IBM's Unix flavor relies on post-wait drivers to accomplish the same objective.

So, why does Oracle relies on semaphores -when available? to serialize processes making sure event B happens after event A completes. This is mostly used to sync processes.