Deadlock(1)

Deadlock - Deadlock conditions


System Model

deadlock

A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set

Deadlock conditions

  1. Mutual Exclusion
    • 하나의 프로세스만 하나의 자원을 사용할 수 있는 상황이다.(semaphore 등)
  2. Hold and Wait
    • 다른 프로세스에서 hold되어진 자원을 요청하고 이를 기다리는 상황이다.
  3. No Preemption
    • resource가 오직 resource를 hold하고 있는 프로세스의 release를 통해서만 회수된다.
  4. Circular Wait
    • 프로세스 간 순환 구조를 형성하면서 대기중이다.
    • P1 -> P2 -> P3 -> P4 -> P1

Resource Allocation Graph

Resource Allocation Graph Example1(No Deadlock)

Resouurce Allocation Graph Example(No Deadlock)

Resource Allocation Graph Example2(Deadlock)

Resource Allocation Graph with Deadlock

Resource Allocation Graph Example3(No Deadlock)

No Deadlock with deadlock conditions