Deadlock
PA deadlock is a situation wherein two or more competing actions are each waiting for the other to
finish, and thus neither ever does. It is often seen in
a paradox like the "chicken or the egg". The concept of a Catch-22 is similar. In computer science, Coffman deadlock refers to a specific condition when two or more processes are
each waiting for the other to release a resource, or
more than two processes are waiting for resources
in a circular chain (see Necessary conditions). Deadlock is a common problem in multiprocessing where many processes share a specific type of
mutually exclusive resource known as a software lock or soft lock. Computers intended for the time- sharing and/or real-time markets are often equipped with a hardware lock (or hard lock)
which guarantees exclusive access to processes, forcing serialized access. Deadlocks are particularly
troubling because there is no general solution to
avoid (soft) deadlocks. This situation may be likened to two people who
are drawing diagrams, with only one pencil and
one ruler between them. If one person takes the
pencil and the other takes the ruler, a deadlock
occurs when the person with the pencil needs the
ruler and the person with the ruler needs the pencil to finish his work with the ruler. Neither request
can be satisfied, so a deadlock occurs. The telecommunications description of deadlock is
weaker than Coffman deadlock because processes
can wait for messages instead of resources. A
deadlock can be the result of corrupted messages
or signals rather than merely waiting for resources.
For example, a dataflow element that has been directed to receive input on the wrong link will
never proceed even though that link is not
involved in a Coffman cycle. Examples
No comments:
Post a Comment