Study

데드락

kinim329 2026. 4. 13. 17:00

데드락 개념

데드락은 여러 프로세스 또는 스레드가 서로 자원을 기다리면서 아무도 실행을 꼐속하지 못하는 상태이다.

 

발생 상황

두개 이상의 작업이 서로가 가진 자원을 필요로 할 때 발생한다.

 

데드락 발생 조건

데드락은 다음 네 가지 조건이 모두 만족될 때 발생한다.

상호배제 : 한번에 하나의 작업만 자원을 사용할 수 있다.

점유 대기 : 자원을 가진 상태에서 다른 자원을 기다린다.

비선점 : 자원을 강제로 빼앗을 수 없다.

순환대기 : 작업들이 서로 자원을 기다리는 구조를 형성한다.

 

해결 방법

데드락을 해결하기 위한 방법은 다음과 같다

예방 : 데드락 발생 조건중 하나를 제거

회피 : 안전한 상태에서만 자원 할당

탐지 및 복구 : 데드락 발생 후 탐지하여 해결

'Study' 카테고리의 다른 글

서비스 간 통신 방법  (0) 2026.04.16
분산 트랜잭션과 데이터 일관성  (0) 2026.04.14
동기화  (0) 2026.04.12
스케줄링  (0) 2026.04.11
가상 메모리  (1) 2026.04.10