Consider the following pseudocode, where S is a semaphore initialized to 5 in line#2 and counter is a shared variable initialized to 0 in line#1. Assume that the increment operation in line#7 is not atomic. 1. int counter = 0; 2. Semaphore S = init(5); 3. void parop(void) 4. 5. wait(S); 6. wait(S); 7. counter++; 8. signal(S); 9. signal(S); 10. If five threads execute the function parop concurrently, which of the following program behavior(s) is/are possible?
Topic-wise GATE CS PYQs with verified steps
