교착상태

운영체제

교착 상태

두 개 이상의 프로세스가 각자 가지고 있는 자원을 무작정 기다린다면 그 어떤 프로세스도 더 이상 진행할 수 없는 상태가 된다

교착 상태 발생 조건

상호배제, 점유와 대기, 비선점, 원형대기

네가지 조건 모두 만족해교착 상태가 생길 수 있는 조건이 형성된다

교착 상태 해결 방법

예방, 회피, 검출 후 회복

예방 방식은 어떤 방식으로든 효율성이 떨어지고, 부작용이 있을 수 있음

회피 방식은 교착상태가 일어나지 않을 만큼 조심해서 자원을 할당 하는 방식 → 안전 순서열, 교착 상태 없이 안전하게 프로세스들에 자언을 할당할수 있는 수열 안정 상태, 안전순서열대로 자원을 배분하여 교착상태가 발생하지 않는 상태, 불안전 상태, 안전순서열이 없는 상태

교착상태 검출후 회복은 운영체제가 프로세스들이 자원을 요청할 때마다 그때 그때 마다 할당하고, 교착상태 여부를 주기적으로 검사. → 검출 되면 회복 절차를 거침

선점을 통한 회복: 교착상태가 해결될 때 까지 한 프로세스 씩 자원을 몰아주는 방식 프로세스 강제종료: 모든 프로세스를 강제종료할 수도 있고, 교착상태가 해소될 때까지 순서대로 종료 시킬 수도 있는 가장 확실한 방법

*타조 알고리즘이라고 교착상태를 아예 무시하는 방법도 있음 *