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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!