Step 1: The question asks for a synchronization mechanism, a tool that coordinates access so processes do not corrupt shared data.
Step 2: A semaphore is an integer variable with atomic wait and signal operations. It controls how many processes may enter a critical section at once, enforcing safe, ordered access to a shared resource.
Step 3: Buffering is a data-holding technique, paging is a memory-mapping scheme, and virtual memory extends addressable space. None of these coordinate concurrent access.
Step 4: Only the semaphore provides synchronization. The correct option is (D).