GATEverse
← GATE CSE 2012

Q32

MCQ2 marks, −0.67

Fetch_And_Add(X,i) is an atomic Read-Modify-Write instruction that reads the value of memory location XX, increments it by the value ii, and returns the old value of XX. It is used in the pseudocode shown below to implement a busy-wait lock. LL is an unsigned integer shared variable initialized to 00. The value of 00 corresponds to lock being available, while any non-zero value corresponds to the lock being not available. AcquireLock(L){ while (Fetch_And_Add(L,1)) L = 1; } ReleaseLock(L){ L = 0; } This implementation

Sign in to save attempts.

Loading…