GATEverse Practice, past papers & mock tests
GATE 2023 · CS - Forenoon
Operating SystemsProcess Management-IIhardMCQ2 marks
Consider the two functions `incr` and `decr` shown below.
c
incr() {
    wait(s);
    X = X + 1;
    signal(s);
}

decr() {
    wait(s);
    X = X - 1;
    signal(s);
}
There are 5 threads each invoking `incr` once, and 3 threads each invoking `decr` once, on the same shared variable X. The initial value of X is 10. Suppose there are two implementations of the semaphore s, as follows: I-1: s is a binary semaphore initialized to 1. I-2: s is a counting semaphore initialized to 2. Let V1, V2 be the values of X at the end of execution of all the threads with implementations I-1, I-2, respectively. Which one of the following choices corresponds to the minimum possible values of V1, V2, respectively?
Save your progress

Related Operating Systems PYQs