Different Solutions to dining philosophers problem.
Answer Posted / anubhav agrawal
One solution would be to banish a philosopher from the
table, thus emptying a seat. This leaves five chopsticks
for four people, so at least one of the philosophers will
be able to eat; thus, no deadlock. This means that each
system must have more resources available than tables, in
essence.
Another solution is to say that a philosopher can only pick
up chopsticks if both are available, and then only if the
neighbors are not going to pick them up. This is a
permissive style that causes some extra slowdown by adding
the step of permissions, but it keeps all of the
philosophers alive, which is the most important thing.
A third solution is an asymmetric one: number the
philosophers starting at an arbitrary chair and continuing
around the table. Then, a philosopher with an odd number
picks up the left chopstick and then the right, and the
even numbered philosophers pike up the right chopstick and
then the left. Thus, philosophers 2, 3, and 4 only can be
missing a pair if one of the two people at their sides are
actually eating (not just waiting), thus making sure a
deadlock is impossible.
There are countless more possible solutions to the dining-
philosophers problem. The primary factor in deciding if a
solution is good or not is to make sure that there are no
deadlocks or long pauses in the procedure; in other words,
a good solution makes sure a philosopher doesn't starve to
death.
Solutions to this problem show up regularly in all sorts of
areas, from biology to psychology to computer science. The
problem of synchronization is a fundamental one in our
world, and the dining-philosophers problem addresses it
simply, clearly, and directly
| Is This Answer Correct ? | 12 Yes | 0 No |
Post New Answer View All Answers
Discuss how satellite network differs from traditional networks such as Ethernet, Tokenbus.
Define Satellite Networks
What is autonomous system
Differentiate between Baseband co-axial cable and broad band coaxial cable
A binary signal is sent over a 3-khz channel whose signal-to-noise ratio is 20 db.Calculate the maximum achievable data rate ?
What is the difference between TFTP and FTP application layer protocols?
When you look at a Cisco switch like Cisco 2950, why are the ports labeled with an 'X' behind the number? Like 1x, 2x.....23x, 24x, and what does it mean when there is no 'X'?
If i want to crack any serial key using system information then how can i do it? Is it possible?
How the code in popup card number(SIM recharge card number) will be unique?How they designed?What is the formula?Please answer me?
What is virtual path
Define CableServe
Why does ATM use the cell of small and fixed length ?
What do you mean by link to link layers of OSI reference model? Explain their functions briefly?
what happens when two consigitive ports of switch are connacted using one cross cabel with each other?(how the whole network gets down)
I need to know the driver name associated with the DSN ? In java we can get it by using getDriverName()(implemented by 3rd party vendors.) method ? but i need the implemetation to get the driver name? so can u give me the code ? how to get the code ?