What are your solution strategies for "Dining Philosophers
Problem" ?
Answer Posted / neena lekshmi p s
the dining philosophers problem is an illustrative example
of a common computing problem in concurrency. It is a
classic multi-process synchronization problem.
The dining philosophers problem is
summarized as five philosophers sitting at a table doing one
of two things: eating or thinking. While eating, they are
not thinking, and while thinking, they are not eating. The
five philosophers sit at a circular table with a large bowl
of spaghetti in the center. A fork is placed in between each
pair of adjacent philosophers, and as such, each philosopher
has one fork to his left and one fork to his right. As
spaghetti is difficult to serve and eat with a single fork,
it is assumed that a philosopher must eat with two forks.
Each philosopher can only use the forks on his immediate
left and immediate right.
The dining philosophers problem is
sometimes explained using rice and chopsticks rather than
spaghetti and forks, as it is more intuitively obvious that
two chopsticks are required to begin eating.
The philosophers never speak to each other, which creates a
dangerous possibility of deadlock when every philosopher
holds a left fork and waits perpetually for a right fork (or
vice versa).
Originally used as a means of illustrating the problem of
deadlock, this system reaches deadlock when there is a
'cycle of unwarranted requests'. In this case philosopher P1
waits for the fork grabbed by philosopher P2 who is waiting
for the fork of philosopher P3 and so forth, making a
circular chain.
Is This Answer Correct ? | 2 Yes | 9 No |
Post New Answer View All Answers
Which is better 32 bit or 64 bit?
Explain booting the system and bootstrap program in operating system.
What is chkdsk used for?
How to setup never expired user password?
What factors determine whether a detection-algorithm must be utilized in a deadlock avoidance system?
What is plumbing/piping?
How do I search for a file?
Tell me about different OS related issues for a given set of C-programs (mainly address issues address space, paging etc.)
What are the 4 stages of computing?
Have you used threaded trees anytime in your life time?
How do I fix error 429?
What is waiting time?
What is micro kernel approach and site its advantages?
How do I find system information?
Explain briefly about loader and its functioning?