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
Does ram affect excel performance?
What are necessary conditions for dead lock?
What is fragmentation?
Do you know what is a binary semaphore? What is its use?
When does stack (process stack) overflow? What are the remedies?
What are types of file?
How do I upgrade my excel to 64 bit?
What is the context switch?
Explain ftdisk in operating system (os)?
Can ram cause blue screen?
What do you call a bootable disk that contains a full usable os?
Explain the Difference between Process and a Thread.
Explain the functions of the cu and alu in the cpu of a computer.
What is the purpose of system calls?
Give an example of Priority Inversion in Scheduling. What are the consequences of Priority Inversion?