데드락 개념
데드락은 여러 프로세스 또는 스레드가 서로 자원을 기다리면서 아무도 실행을 꼐속하지 못하는 상태이다.
발생 상황
두개 이상의 작업이 서로가 가진 자원을 필요로 할 때 발생한다.
데드락 발생 조건
데드락은 다음 네 가지 조건이 모두 만족될 때 발생한다.
상호배제 : 한번에 하나의 작업만 자원을 사용할 수 있다.
점유 대기 : 자원을 가진 상태에서 다른 자원을 기다린다.
비선점 : 자원을 강제로 빼앗을 수 없다.
순환대기 : 작업들이 서로 자원을 기다리는 구조를 형성한다.
해결 방법
데드락을 해결하기 위한 방법은 다음과 같다
예방 : 데드락 발생 조건중 하나를 제거
회피 : 안전한 상태에서만 자원 할당
탐지 및 복구 : 데드락 발생 후 탐지하여 해결
'Study' 카테고리의 다른 글
| 서비스 간 통신 방법 (0) | 2026.04.16 |
|---|---|
| 분산 트랜잭션과 데이터 일관성 (0) | 2026.04.14 |
| 동기화 (0) | 2026.04.12 |
| 스케줄링 (0) | 2026.04.11 |
| 가상 메모리 (1) | 2026.04.10 |