Concurrency Consider the following processes P1 and P2 that update the value of the shared variables, x and y, as follows: Process P1: ( performs the operations: x:=x?y y++ ) LOAD R1, X//(A) LOAD R2, Y // (B) MUL R1, R2 // (C) STORE X, R1 // (D) INC R2 // (E) STORE Y, R2 // (F) Process P2 : ( performs the operations: x++ y:=x?y ) LOAD R3, X //(G) INC R3 //(H) LOAD R4, Y // (I) MUL R4, R3 // (J) STORE X, R3 // (K) STORE Y, R4 //(L) Assume that the initial values of x and y are 2 and 3 , respectively. Question 1 P1 and P2 execute serially (one after the other without any interleaving or concurrent execution). What would the values of x and y be after the execution? Answers are separated by a comma, no space. E.g: 2,3 Question 2 P1 and P2 are interleaved and the trace of their execution is the following: (A)?(B)?(G)?(H)?(I)?(C)?(D)?(E)?(F)?(J)?>(K)?(L) What would the values of x and y be after the execution of all instructions? Answers are separated by a comma, no space. E.g: 2,3