Question: When discussing semaphores first, we tried to avoid the spin - lock in the acquire ( sem _ wait ) function by blocking the calling

When discussing semaphores first, we tried to avoid the spin-lock in the acquire (sem_wait) function by blocking the calling process. But then when implementing acquire/sem_wait and release/sem_post, the operations on the shared variable within the these functions become the critical section and we said that they can now be protected using a spin-lock. Why is it OK to use the spin-lock when implementing semaphore operations while we were trying to avoid in the first place when discussing in the context of applications?
A. The CS code in acquire/sem_wait and release/sem-post is not application specific.
B. The CS code in acquire/sem_wait and release/sem-post is executed in the kernel.
C. The CS code in acquire/sem_wait and release/sem-post is too short
D. The CS code in acquire/sem-wait and release/sem-post is more important

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!