예방기법
교착 상태 발생의 4가지 조건중 하나를 제거함으로 수행
회피기법
은행원 알고리즘
발견 기법
교착 상태에 있는 프로세스 자원을 발견
회복 기법
임계영역 : 동일한 자원을 동시에 접근하는 작업을 실행하는 코드영역을 칭함
뮤텍스와 세마포어의 차이는?(상호 배제 조건을 해결하기 위한 방법)
b. 세마포어
변수를 통해 접근 가능한 스레드 제한(뮤텍스는 1개스레드 자원만 사용)
세마포어는 세마포어 변수만큼 공유자원 접근 가능
세마포어 변수를 통해 wait, signal을 관리한다(0이상이 정수값을 갖음)
세마 포어변수가 1개일 경우 뮤텍스 처럼 사용 가능(세마표어는 뮤텍스가 될 수 있지만, 뮤텍스는 세마포어가 될 수 없다)
뮤텍스와 달리 lock을 걸지 않는 스레드도 signal을 통해 lock을 해제할 수 있다.
경쟁상태, 교착상태, 기아상태 차이는?
경쟁상태 : 공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도할 때 접근의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태
교착상태 : 두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리고 있기 때문에 아무것도 완료되지 못하는 상태 1.
교착 상태의 조건 : 아래 4가지 조건을 모두 충족시켜야 함
기아상태(Starvation) : 특정 프로세스의 우선 순위가 낮아서 원하는 자원을 계속 할당받지 못하는 상태
해결 방안
스케줄링으로 해결 (우선 순위를 변경해준다.)