subject

Consider a sharable resource with the following characteristics: 1) as long as there are fewer than three processes using the resource, new processes, new processes can start using it right away. 2)Once there are three processes using the resource, all three must leave before any new processes can begin using it. We realize that counters are needed to keep track of how many processes are waiting and active and that these counters are themselves shared resources that must be protected with mutual exclusion. So we might create the following solution: 1 semaphore mutex =1, block =0;
2 int active=0; waiting =0;
3 boolean must_wait=false;
4
5 semWait(mutex);
6 if(must_wait) {
7 ++waiting;
8 semSignal(mutex);
9 semWait(block);
10 semWait(mutex);
11 --waiting;
12 }
13 ++active;
14 must_wait = active ==3;
15 semSignal(mutex);
16
17 /*critical section*/
18 semWait(mutex);
19 --active;
20 if(active == 0) {
21 int n;
22 if (waiting < 3) n=waiting;
23 else n=3;
24 while (n>0) {
25 semSignal(block);
26 --n;
27 }
28 must_wait=false;
29 }
30 semSignal(mutex);

The solution appears to do everything right: all accesses to the shared variables are protected by mutual exclusion, processes do not block themselves while in the mutual exclusion, new processes are prevented from using the resource if there are (or were) three active users, and the last process to depart unblocks up to three waiting processes.

The program is nevertheless incorrect. Explain why.
Suppose we change the if in line 6 to a while. Does this solve any problem in the program? Do any difficulties remain?

ansver
Answers: 2

Another question on Computers and Technology

question
Computers and Technology, 22.06.2019 16:30
The most common battery cable terminal is a that provides a large surface contact area with the ability to tighten the terminal onto the battery post using a nut and bolt.
Answers: 2
question
Computers and Technology, 23.06.2019 06:30
On early television stations, what typically filled the screen from around 11pm until 6am? test dummies test patterns tests testing colors
Answers: 1
question
Computers and Technology, 24.06.2019 07:00
Jean has kept the content of her website limited to what is important; she has also ensured that the text follows a particular style and color all throughout her website. which website features has jean kept in mind? jean has limited the content of her website to what is important; this ensures (clarity, simplicity, harmony and unity) of the content. she has also formatted the text in a particular style and color throughout her website, ensuring (balance, simplicity, consistency)
Answers: 2
question
Computers and Technology, 24.06.2019 07:00
You are most likely to automatically encode information about
Answers: 1
You know the right answer?
Consider a sharable resource with the following characteristics: 1) as long as there are fewer than...
Questions
question
Mathematics, 27.08.2021 03:50
question
Mathematics, 27.08.2021 03:50
question
History, 27.08.2021 03:50
Questions on the website: 13722367