The dining philosopher problem is a classic problem in deadlock management. The problem can be described briefly as follows. There is a round table around which a total of five philosophers are sitting. There are also a total of five plates in front of the philosophers and five forks, one each beside each plate. A philosopher can only eat if s/he can get two forks lying beside the plate. The philosophers do not have any means of communicating with each other to control access to their forks. A situation where none of the philosophers is able to eat because they are all able to access a single fork (but not both) is called deadlock. The goal is to design a protocol of choosing the forks among the dining philosophers so that no deadlock occurs. Now assume that the philosophers need both the forks to eat AND the sauce bowls to eat. Write another program to implement the deadlock-free solution of this version of the problem.
The dining philosopher problem is a classic problem in deadlock management. The
problem can be described briefly as follows. There is a round table around which a
total of five philosophers are sitting. There are also a total of five plates in front of the
philosophers and five forks, one each beside each plate. A philosopher can only eat if
s/he can get two forks lying beside the plate. The philosophers do not have any means
of communicating with each other to control access to their forks. A situation where
none of the philosophers is able to eat because they are all able to access a single fork
(but not both) is called deadlock. The goal is to design a protocol of choosing the
forks among the dining philosophers so that no deadlock occurs.
Now assume that the philosophers need both the forks to eat AND the sauce
bowls to eat. Write another program to implement the deadlock-free solution
of this version of the problem.
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images