
<aside>
💡 Deadlock이란?
교착 상태 → 무한 대기
두 개이상의 프로세스 혹은 스레드가 서로가 가진 리소스를 기다리는 상태
Ctrl + Alt +Del
https://ko.wikipedia.org/wiki/Control-Alt-Delete
</aside>

Deadlock을 발생시키는 4가지 조건
Mutual exclusion
- 리소스(critial session or lock ,cpu, 메모리, ssd 등)를
공유해서 사용할 수 없음
Hold and wait
- 프로세스가 이미 하나 이상의 리소스를 취득한(hold)한 상태에서
다른 프로세스가 사용하고 있는 리소스를 추가로 기다림(wait)
No preemption
- 리소스 반환은 오직 그 리소스를 취득한 프로세스만 할 수 있음
- 지난 발표에서 다른 사람이 lock을 해제하는 경우는 안됨
Circular wait
- 프로세스들이 순환 형태로 서로의 리소스를 기다린다.
해결 방법

1. Deadlock prevention(데드락 방지)
시스템 레벨에서 4가지 조건 중 하나가 충족되지 않게 디자인
Mutual exclusion → 불가능