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?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started