Deadlock
- 교착 상태
- 2개 이상의 process/thread들이 더 이상 진행 불가 상태
- resource를 잡으면서 동시에 다른 process에 의해서 잡혀진 resource를 대기하는 상황
- 서로 다른 resource를 잡고 서로 잡은 resource를 요청
Resources
- 한 번에 하나의 process에 의해서만 사용 가능
- preemtion
- preemtable
- non-preemtable
Resource Allocation Graphs
- 유향 그래프
- procedure = O
- Resource = ㅁ
- instance는 resource 안의 점으로 표시
- Edge
- Request edge
- Assignment edge
- Cycle
- 없으면
- 있으면
- instance 한 개씩
- instance 여러 개씩
Dining Philosophers Problem
Deadlock Characterization
- Deadlock이 발생하는 조건
- mutual exclusion
- No preemption
- resource를 빼앗을 수 없음
- 자원 특성에 가까움