

MCQOPTIONS
Saved Bookmarks
1. |
The atomic fetch-and-set x, y instruction unconditionally sets the memory location x to 1 and fetches the old value of x in y without allowing any intervening access to the memory location x. Consider the following implementation of P and V functions on a binary semaphore S. void P (binary_semaphore *S) { unsigned y;unsigned *x = & (S -> value); do { fetch-and-set x, y; } while (y); } void V (binary_semaphore *S) { s - > value = 0; } Which one of the following is true? |
A. | The implementation may not work, if context switching is disabled in P |
B. | Instead of using fetch-and-set, a pair of normal load/ store can be used |
C. | The implementation of V is wrong |
D. | The code does not implement a binary semaphore |
Answer» B. Instead of using fetch-and-set, a pair of normal load/ store can be used | |