Question: Chapter 5.15 Operating Systems: Consider how to implement a mutex lock using an atomic hardware instruction. Assume that the following structure de?ning the mutex lockisavailable:

Chapter 5.15 Operating Systems: Consider how to implement a mutex lock using an atomic hardware instruction. Assume that the following structure de?ning the mutex lockisavailable: typedef struct{ int available; }lock;

(available == 0) indicates that the lock is available, and a value of 1 indicates that the lock is unavailable. Using this struct, illustrate how the following functions can be implemented using the test and set() and compare and swap() instructions: void acquire(lock *mutex) void release(lock *mutex) Be sure to include any initialization that may be necessary. Exercises 245 do {while (true) { flag[i] = want in; j = turn; while (j != i) { if (flag[j] != idle) { j = turn; else j = (j + 1) % n; } flag[i] = in cs; j = 0; while ( (j < n) && (j == i || flag[j] != in cs)) j++; if ( (j >= n) && (turn == i || flag[turn] == idle)) break; } /* critical section */ j = (turn + 1) % n; while (flag[j] == idle) j = (j + 1) % n; turn = j; flag[i] = idle; /* remainder section */ } while (true);

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!