Apr 16, 2013

why spinlocks are not appropriate for single-processor systems yet are often used in multiprocessor systems ?


Spinlocks are not appropriate for single-processor systems
because the condition that would break a process out of the spinlock
could be obtained only by executing a different process. If the process is
not relinquishing the processor, other processes do not get the opportunity to set the program condition required for the first process to make
progress. In a multiprocessor system, other processes execute on other
processors and thereby modify the program state in order to release the
first process from the spinlock.

why interrupts are not appropriate for implementing synchronization primitives in multiprocessor systems.


Interrupts are not sufficient in multiprocessor systems since
disabling interrupts only prevents other processes from executing on the
processor in which interrupts were disabled; there are no limitations on
what processes could be executing on other processors and therefore the
process disabling interrupts cannot guarantee mutually exclusive access
to program state.


Post a Comment