Question: A spinlock is the equivalent of a while loop (var == 1) {/ * do nothing * /;}, and therefore implements a form of busy-waiting.
A spinlock is the equivalent of a while loop (var == 1) {/ * do nothing * /;}, and therefore implements a form of busy-waiting. It is often used by the kernel, as an alternative to waiting on a semaphore, if there is a reasonable hope that, in case the lock has already been acquired, it will be released in a short time (thus saving on execution, relatively expensive if done in the kernel, of the wait itself). Discuss the strengths and weaknesses of this solution, taking into account that:
(*)could the kernel be non-preemptable, for example disabling interrupts?
(**)could there be more processors?
please do not send me code this is the 3 or 4 time i have sent this question, it says discuss in the question, please explain the strengths and weaknesses of spinlock taking into account (*) and (**)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
