데드락이란? 프로세스나 스레드가 결고 일어나지 않는 일을 기다리는것 작업 마무리도 못할 뿐더러 시스템에 오버헤드 혹은 다운까지 발생시킨다. 왜 발생하나? 다음 네가지 조건을 충족하기 때문에 발생함 상호배제 한번의 한개의 프로세스 만이 공유 자원을 사용함 점유와 대기 자원을 점유하고 있으면서 다른 프로세스가 사용하는 자원을 추가로 점유하기위해 대기하는 프로세스가 있음 비 선점 자원 강탈 불가 환형 대기 프로세스가 다른 프로세스가 점유한 자원에대한 요구가 원형을 이룸 A -> B -> C -> A 4가지 조건이 모두 필요한 소프트웨어 개발에서 데드락 발생 가능 교착 상태 예시 간단한 교착상태 자원(길) 을 점유한 상태에서 서로 상대방의 자원을 요구하는 상황 해결 방법 교착 상태 방지 교착 상태가 발생하지 않..