Question1) Describe why interrupts are not appropriate for implementing synchronization primitive in multiprocessor systems and why spinlocks are not appropriate for single-processor systems yet are often used in the multiprocessor systems.
Question2) Mutual exclusion primitives could be implemented with busy waiting or with blocking. Examine the applicability and relative merits of each approach.
Question3) Write pseudocode for Semaphore operation wait() and signal() implemented using block waiting.