in CompareAndSwap entry section
Anonymous Quiz
31%
while(compare_and_swap(&lock, 0, 1) == 0);
69%
while(compare_and_swap(&lock, 0, 1) != 0);
Simplest is mutex lock, boolean variable indicating if lock is available or not
Anonymous Quiz
88%
T
12%
F
in Mutex Locks Spinlocks is ideal for single-CPU as it is wasteful of CPU cycles that other process might be able to use productively
Anonymous Quiz
67%
F
33%
T
Derived Channel
Atomic =
semaphore S is an integer variable that can only be modified via two interruptible operations: wait () and signal ()
Anonymous Quiz
71%
T
29%
F
in semaphore wait function the value of the integer is
Anonymous Quiz
32%
incremented
68%
decremented
in semaphore signal function the value of the integer is
Anonymous Quiz
15%
decremented
85%
incremented
integer value can range only between 0 and 1
Anonymous Quiz
13%
Counting semaphore
87%
Binary semaphore
The main issue with semaphores is the busy loop in the signal() which eats CPU cycles without
accomplishing anything useful
accomplishing anything useful
Anonymous Quiz
56%
F
44%
T
semaphore implementation with no busy waiting there’s an associated waiting queue
Anonymous Quiz
71%
T
29%
F
remove one of processes in the waiting queue and place it in the ready queue
Anonymous Quiz
15%
block
85%
wakeup
place the process invoking the operation on the appropriate waiting queue
Anonymous Quiz
92%
block
8%
wakeup
two or more processes are waiting indefinitely for an event that can be caused by only one of the
waiting processes
waiting processes
Anonymous Quiz
84%
Deadlock
12%
Starvation
4%
Priority Inversion
A process may never be removed from the semaphore queue in which it is suspended
Anonymous Quiz
33%
Priority Inversion
52%
Starvation
15%
Deadlock
Mutual exclusion can be provided by the....
Anonymous Quiz
20%
mutex locks
8%
counting semaphores
68%
both of them
4%
neither of them