Necessary conditions for deadlock

    Coffman et al. showed that four condition must hold for there to be a (resource) deadlock:

    1. Mutual exclusion condition. Each resource is either currently assigned to exactly one process or is available.

    2. Hold and wait condition. Processes currently holding resources that were granted earlier can request new resources.

    3. No preemption condition. Resources previously granted cannot be forcibly taken away from a process. They must be explicitly released by the process holding them.

    4. Circular wait condition. There must be a circular chain of two or more processes, each of which is waiting for a resource held by the next member of the chain.

posted @ 2012-04-20 21:13  ustcwizard  阅读(154)  评论(0)    收藏  举报