Skip to content
Related Articles

Related Articles

GATE | GATE-CS-2006 | Question 61

View Discussion
Improve Article
Save Article
  • Last Updated : 28 Jun, 2021

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 *x = &(s->value);
        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: (A)

Explanation: See Question 3 of

Quiz of this Question

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!