Question: The solution to the first readers-writers problem in Figure 12.26 gives priority to readers, but this priority is weak in the sense that a writer
The solution to the first readers-writers problem in Figure 12.26 gives priority to readers, but this priority is weak in the sense that a writer leaving its critical section might restart a waiting writer instead of a waiting reader. Describe a scenario where this weak priority would allow a collection of writers to starve a reader.
Figure 12.26

/* Global variables */ int readcnt; /* Initially 0 */ sem_t mutex, w; /* Both initially = 1 */ void reader (void) { while (1) { } } P(&mutex); readcnt++; if (readcnt P (&W); V (&mutex); } P (&mutex); readcnt--; } void writer (void) { if (readcnt V (&W); V (&mutex); /* Critical section */ /* Reading happens */ while (1) { P (&w); == V(&W); = == 1) /* First in */ 0) /* Last out */ /* Critical section */ /*Writing happens */
Step by Step Solution
3.37 Rating (153 Votes )
There are 3 Steps involved in it
Suppose that a particular semaphore implementation uses a LIFO stack of t... View full answer
Get step-by-step solutions from verified subject matter experts
