The atomic fetch-and-set x, y instruction unconditionally sets the memory
location x to 1 and fetches the old value of x n 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 * = &(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

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to