Question: Consider the program: var s: int:= 1, i: int co i:= 1 to 2 rightarrow do true rightarrow (await s > 0 rightarrow s: =

Consider the program: var s: int:= 1, i: int co i:= 1 to 2 rightarrow do true rightarrow (await s > 0 rightarrow s: = s - 1) (s:= s + 1) Above, S_i is a statement list that is assumed not to modify shared variable s. Develop complete proof outlines for the two processes. Demonstrate that the proofs of the processes are interference-free. Then use the proof outlines and the method of Exclusion of Configurations (2.25) to show that S_1 and S_2 cannot execute at the same time and that the program is deadlock-free. What scheduling policy is required to ensure that a process delayed at its first await statement will eventually be able to proceed? Explain
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
