Explain why Windows, Linux, and Solaris implement multiple locking mechanisms. Describe the circumstances under which they use spin- locks, mutex locks, semaphores, adaptive mutex locks, and conditi

Explain why Windows, Linux, and Solaris implement multiple locking mechanisms.

Describe the circumstances under which they use spin- locks, mutex locks, semaphores, adaptive

mutex locks, and condition variables. In each case, explain why the mechanism is needed.