- 코딩 공부/CS

데드락이란?

방개입니다 2023. 1. 26. 01:31

어떤 웨이팅 쓰레드 자기 자신의 상태에서 바뀌지 못하는거 -> 계속 대기 

 

다른 쓰레드가 웨이팅 하는 쓰레드에 의해서 점유되어있을때 데드락이라고 한다. 

 

데드락의 4개의 컨디션 

1. 상호외제조건 Mutual Exclusion  

2. 점유대기 Hold and Wait 

3. 선점불가 No preemption  

4. 원형대기 Circular Wait 

 

4개가 다 만족이 되어야(동시에) 데드락이 생긴다. 

 

 

 

 

리소스 어로케이션 그래프를 보면 싸이클이 없으면은 데드락이 생길리가 없다. 

싸이클이 있으면 데드락이 있을수도 있지만 없을수도 있다. 

 

RAG: Cycle 이 있는지 봐야한다.