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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!