Question
Question 6 (10 marks) : Consider the following two processes that share a common variable X and a semaphore S: // Shared variable int X
Question 6 (10 marks): Consider the following two processes that share a common variable X and a semaphore S:
// Shared variable
int X =2;
binary semaphore S = 1;
Process P1: Process P2:
//initialisation code //initialisation code
int Y; int Z;
P(S); P(S);
P11: Y = 2*X; P21: Z = X+1;
P12: X = Y; P22: X = Z;
V(S); V(S);
//other code //other code
The line numbers P11, P12 and P21, P22 have been added to the left of each statement. How many different values of X are possible after both processes finish executing? What are those values? Explain your answer showing all the possible execution traces.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started