Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Suppose two processes are using shared memory as shown below: give the possible

ID: 3854938 • Letter: S

Question

Suppose two processes are using shared memory as shown below: give the possible values than can be printed for b and c by EACH process. Assume all C language assignment statements are atomic: P0 executes shared int a: int b, c b = 1: a = b: c = a: Print (b, c): P1 executes: shared int a: int b, c a = 100: b = a: c = b + a: Print (b, c) You are asked to design concurrency control mechanisms for a two different hardware architectures: the first supports a Test-and-Set and a 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?

Explanation / Answer

Question:1

"a" variable is of integer type and its shared between processes P0 and P1

i) P0 executes

shared int a;

int b,c

b = 1;

a=b; //Here value of a will be 1

c =a; //Here value of c will be 1

Print(b,c) //So it will print b as 1 and c as 1

ii) P1 executes

shared int a;

int b,c;

a = 100;

b = a; //Here value of b =1 because a is shared and its value is already set to 1 in P0 Process.

c = b +a; //Here value of c will be 2 (1 +1)

Print(b,c ) //So it will print b as 1 and c as 2

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote