Question: Q1. Suppose two processes are using shared memory as shown below. Give the possible values that can be printed for b and c by EACH
Q1. Suppose two processes are using shared memory as shown below. Give the possible values that can be printed for b and c by EACH process. Assume all C language assignment statements are atomic:
P0 executes: P1 executes: shared int a; shared int a; int b,c; int b,c; b=1; a=100; a=b; b=a; c=a; c=b+a; Print(b,c); Print(b,c);
Q2. You are asked to design concurrency control mechanisms for a two different hardware architectures: the first supports a Test-and-Set and the other supports a swap instruction, as follows:
int Test-and-Set( int target) { int temp=target; target=true; return(temp); } void Swap (int *a, *b) { int temp; temp = *a; *a = *b; *b = temp; }
Does the swap works similarly as Test-and-set? why?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
