예방

교착상태 발생 조건(상호배제, 비선점, 점유와 대기, 순환대기) 중 하나를 제거 ⇒ 해결

상호배제 제거 ⇒ 여러 프로세스의 공유 자원 사용

여러 프로세스가 자원 공유하며 의도치 않은 결과 발생

비선점 ⇒ 모든 자원에 대해 선점 허용

공유 자원에 대한 동기화 의미가 없어짐

점유 및 대기 ⇒ 프로세스 실행 전 필요한 자원 모두 할당

자원이 오랫동안 할당, 사용 X ⇒ 자원 낭비

순환 대기 ⇒ 자원에 고유번호 할당 후 순서대로 자원 요청

필요 자원(R1, R2, R4)일 때 R1 받아야 R2 받을 수 있음


회피

조건 ⇒ 최소 하나의 프로세스에게 할당해줄 만큼의 자원 보유해야함

교착상태 가능성 검사 ⇒ 교착상태 생기지 않을 경우만 자원 할당

회피의 문제점

  1. 프로세스가 사용할 자원 미리 선언 필요
  2. 시스템의 전제 자원수가 고정이여야 함
  3. 자원 사용률이 낮다